前面為大家介紹了《WordPress主題製作全過程(四):小試牛刀》,本文繼續(xù)為大家?guī)怼禬ordPress主題製作全過程(五):製作header.php》 ,下面一起來看吧~
你可以嘗試用文字編輯器開啟從WordPress主題製作全過程(三):HTML靜態(tài)模板製作下載到的.html
文件,不知道你有沒有發(fā)現(xiàn)他們頭部的程式碼都非常的相似呢?其實我們可以提取這部分相似的程式碼,放到一個單獨的檔案header.php
中,各個頁面想用這部分程式碼的時候再用php的include()
或者WordPress的get_header()
包含進去,省的每個頁裡面都要寫這部分程式碼,更改起來也可以達到一改全改的目的。
再次提醒:如果你不打算動手寫程式碼,這個系列教學就別看了,對你無益!
接著我們上次創(chuàng)建的主題目錄wp-content\themes\Aurelius
,在該目錄下新建一個php檔案header.php
#,我們提取出index.php
中的頭部程式碼複製貼上到header.php
中,下面的程式碼就是目前header.php
中的所有程式碼了(當然不同主題的頭部程式碼都是不一樣,在你實際的專案中可以自定決定):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Aurelius | Blog</title> <!-- Stylesheets --> <link rel="stylesheet" href="./style.css" type="text/css" media="screen" /> </head> <body> <div id="wrapper" class="container_12 clearfix"> <!-- Text Logo --> <h1 id="logo" class="grid_4">Aurelius</h1> <!-- Navigation Menu --> <ul id="navigation" class="grid_8"> <li><a href="contact.html"><span class="meta">Get in touch</span><br /> Contact Us</a></li> <li><a href="blog.html" class="current"><span class="meta">Latest news</span><br /> Blog</a></li> <li><a href="index.html"><span class="meta">Homepage</span><br /> Home</a></li> </ul> <div class="hr grid_12 clearfix"> </div> <!-- Caption Line --> <h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2> <div class="hr grid_12 clearfix"> </div>
再用文字編輯器開啟index.php
、 archive.php
、contact.php
、full_width.php
、page.php
、single.php
<?php get_header(); ?>######好,現(xiàn)在打開你的測試部落格主頁,看看我們製作的主題是否還可以正常工作,答案是可以的,跟原來幾乎沒什麼兩樣,但還是一片混亂。 ###get_header()###就相當於將###header.php###中的程式碼拷貝到目前的php檔案。接下來,我們將仔細探討###header.php###中的動態(tài)內容。 ###header.php###將會被所有的範本頁面(首頁、分類頁、頁面、標籤頁等)所包含,所以###header.php###中程式碼應該是動態(tài),適合不同頁面的,所以這裡面需要用到PHP程式碼,而不是單純的HTML。下面讓我們一起來修改###header.php###:#########1、更改
<title><?php if ( is_home() ) { bloginfo('name'); echo " - "; bloginfo('description'); } elseif ( is_category() ) { single_cat_title(); echo " - "; bloginfo('name'); } elseif (is_single() || is_page() ) { single_post_title(); } elseif (is_search() ) { echo "搜索結果"; echo " - "; bloginfo('name'); } elseif (is_404() ) { echo '頁面未找到!'; } else { wp_title('',true); } ?></title>###以上新增的php程式碼運用了條件判斷,針對不同的頁面採用不同title,這裡解釋這幾個條件標籤。 ############is_home()###:目前頁面為首頁時傳回true#########is_category()###:目前頁面為分類頁時傳回true #########is_single()###:當前頁面為單一文章頁時傳回true#########is_page()###:目前頁面為單一頁面時傳回true# ########到目前為止,可能你對這些條件判斷標籤還沒有深入的認識,也搞不懂到底是用了這些標籤會對主題造成怎樣的影響的,隨著我們教程的進一步深入,你會慢慢理解的。如果你不喜歡上面title的寫法,可以自行上網(wǎng)搜尋相關程式碼:###WordPress SEO title############2、更改樣式表style.css路徑######## ##在此之前你看到的首頁都是混亂的,原因是還沒載入css樣式?,F(xiàn)在我們一起把樣式加上去。你可以在###header.php###中找到這段程式碼:######
<link rel="stylesheet" href="./style.css" type="text/css" media="screen" />#######聰明的你可能問:###wp-content\themes\Aurelius###目錄下不是已經(jīng)有一個###style.css### 嗎?那為什麼 ###header.php### 沒有載入css呢?結果你是可以看到的,頁面一篇混亂,可以確定確實沒有載入到css。因為這是WordPress的主題,是要被WordPress的主程式調用,經(jīng)過層層解析才能把你的部落格顯示出來,而不是簡簡單單的html靜態(tài)網(wǎng)頁檔。正確的改法:######
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />###
bloginfo('stylesheet_url')
輸出的是你的主題css文件絕對網(wǎng)址,如http://localhost/wp/wp-content/themes/Aurelius/style.css,WordPress程序會自動識別你的WordPress安裝地址,當前啟用的主題,自動輸出這個style.css鏈接。現(xiàn)在你可以試著更改一下,然后刷新一下你的博客首頁,查看網(wǎng)頁源代碼,style.css的鏈接是不是變成你的了?頁面是否可以正常顯示了呢?
如果你的css文件不是style.css,且不是在主題根目錄下,那怎么辦呢?我們可以用<?php bloginfo('template_url'); ?>
來獲取主題根目錄的URL,如你的主題css文件是abc.css
,那么我們可以這樣寫:<?php bloginfo('template_url'); ?>/abc.css
,如果是在子目錄css下那就這樣:<?php bloginfo('template_url'); ?>/css/abc.css
。同樣加載js文件也是這樣。
不過,還有幾張圖片的路徑不對,還不能顯示出來,現(xiàn)在我們一起用文本編輯器打開index.php
、archive.php
、contact.php
、full_width.php
、page.php
和single.php
,給這些圖片加上正確的URL,搜索代碼,將所有的:src="images/
,批量替換成src="<?php bloginfo('template_url'); ?>/images/
?,F(xiàn)在再刷新你的主頁,看文章的縮略圖是否可以正常顯示。<?php bloginfo('template_url'); ?>
用于輸出主題目錄的URL。
3、添加pingback
至于什么是pingback,你可以在搜索引擎中輸入關鍵字:WordPress pingback
,就可以得到你想要的答案了。如果你需要這個功能,可以在<head>
里面添加以下代碼:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
4、更改博客名稱和描述
在header.php
,下面兩行代碼用于顯示博客名稱和描述:
<h1 id="logo" class="grid_4">Aurelius</h1> <h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2>
上面是靜態(tài)代碼,現(xiàn)在做如下修改:
<h1 id="logo" class="grid_4"><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1> <h2 class="grid_12 caption clearfix"><?php bloginfo('description'); ?></h2>
現(xiàn)在你的博客首頁看到的就是你博客名稱和描述了,并且logo也是一個鏈接指向你的博客首頁。我們這里說說這些php代碼的作用。
<?php echo get_option('home'); ?>
輸出你的博客首頁網(wǎng)址<?php bloginfo('name'); ?>
輸出你的博客名稱<?php bloginfo('description'); ?>
輸出博客描述
博客名稱和描述可以在WordPress管理后臺 - 設置 - 常規(guī)那里更改。以后制作你自己的WordPress主題的時候,你可參照上面的說明對你的主題進行修改。
5、添加訂閱feed鏈接
相信每個已發(fā)布的WordPress博客主題都會提供feed訂閱,當然我們的主題也應該提供這樣的功能。在</head>
之前添加以下代碼:
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有評論" href="<?php bloginfo('comments_rss2_url'); ?>" />
6、添加wp_head
有些插件需要在網(wǎng)頁頭部執(zhí)行一些類如添加一些js或css的動作,要讓這些插件能夠正常的工作,也讓你的主題有更好的兼容性,你應該添加wp_head()函數(shù)。打開header.php
,在</head>
前面添加以下代碼即可:
<?php wp_head(); ?>
現(xiàn)在打開你的博客主頁,查看源代碼,</head>
前面是不是多了以下類似代碼(這些都是wp_head()
的功勞):
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://ludou.co.tv/blog/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://ludou.co.tv/blog/wp-includes/wlwmanifest.xml" /> <link rel='index' href='http://ludou.co.tv' /> <meta name="generator" content="WordPress 2.9.2" />
7、添加Description 和 Keywords
關于添加網(wǎng)頁描述和關鍵字,可以查看我之前寫過的文章:WordPress使用經(jīng)驗(一)獨立的Description 和 Keywords
8、顯示菜單欄
目前菜單欄有Home、Blog和Contact Us幾個菜單,不過這些都是靜態(tài)的內容,并不是你博客上的頁面?,F(xiàn)在我們將菜單欄換成你的菜單,這里只在菜單欄中列出頁面page,當然你也可以再放置分類,根據(jù)你的喜好來吧,將header.php中:
<ul id="navigation" class="grid_8"> <li><a href="contact.html"><span class="meta">Get in touch</span><br /> Contact Us</a></li> <li><a href="blog.html" class="current"><span class="meta">Latest news</span><br /> Blog</a></li> <li><a href="index.html"><span class="meta">Homepage</span><br /> Home</a></li> </ul>
改成:
<ul id="navigation" class="grid_8"> <?php wp_list_pages('depth=1&title_li=0&sort_column=menu_order'); ?> <li <?php if (is_home()) { echo 'class="current"';} ?>><a title="<?php bloginfo('name'); ?>" href="<?php echo get_option('home'); ?>/">主頁</a></li> </ul>
下面兩篇文章介紹了WordPress選單的製作方法,也可以參考:
9、刷新快取
在<body>
前面,</head>
後面加入PHP程式碼,用於提高程式運作效率:<?php flush(); ?>
總結
好了,本次練習到此結束!現(xiàn)在總結一些今天講到的比較重要的知識點:
-
<?php get_header(); ?>
從目前主題資料夾中包含header.php文件 -
is_home(),is_single(),is_category()
等幾個條件判斷標籤 -
<?php bloginfo('stylesheet_url'); ? >
輸出主題資料夾中style.css檔案的路徑 -
<?php bloginfo('pingback_url'); ?>
輸出部落格pingback網(wǎng)址 -
<?php bloginfo('template_url'); ?>
輸出部落格主題目錄URL -
<?php echo get_option('home'); ?> ;
?輸出你的部落格首頁網(wǎng)址 <?php bloginfo('name'); ?>
輸出你的部落格名稱-
# <?php bloginfo('description'); ?>
輸出部落格描述 -
<?php wp_head(); ?>
用於包含WordPress程式輸出頭部資訊 -
<?php wp_list_categories(); ?>
用於列出部落格分類頁 -
<?php wp_list_pages(); ? >
用來列出部落格頁面
到目前為止你的部落格還只能看到主頁,不要灰心,凡事一步一腳印,以後教學會慢慢深入的。最後提供經(jīng)過本次修改後的Aurelius
主題文件,你可以用文字編輯器打開看看,跟你修改的文件比較比較(尤其是header.php
),看看你改得怎麼樣?
推薦學習:《WordPress教學》
以上是WordPress主題製作全過程(五):製作header.php的詳細內容。更多資訊請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中搭建社交分享功能的核心方法是通過動態(tài)生成符合各平臺要求的分享鏈接。 1.首先獲取當前頁面或指定的URL及文章信息;2.使用urlencode對參數(shù)進行編碼;3.根據(jù)各平臺協(xié)議拼接生成分享鏈接;4.在前端展示鏈接供用戶點擊分享;5.動態(tài)生成頁面OG標籤優(yōu)化分享內容展示;6.務必對用戶輸入進行轉義以防止XSS攻擊。該方法無需複雜認證,維護成本低,適用於大多數(shù)內容分享需求。

要實現(xiàn)PHP結合AI進行文本糾錯與語法優(yōu)化,需按以下步驟操作:1.選擇適合的AI模型或API,如百度、騰訊API或開源NLP庫;2.通過PHP的curl或Guzzle調用API並處理返回結果;3.在應用中展示糾錯信息並允許用戶選擇是否採納;4.使用php-l和PHP_CodeSniffer進行語法檢測與代碼優(yōu)化;5.持續(xù)收集反饋並更新模型或規(guī)則以提升效果。選擇AIAPI時應重點評估準確率、響應速度、價格及對PHP的支持。代碼優(yōu)化應遵循PSR規(guī)範、合理使用緩存、避免循環(huán)查詢、定期審查代碼,並藉助X

用戶語音輸入通過前端JavaScript的MediaRecorderAPI捕獲並發(fā)送至PHP後端;2.PHP將音頻保存為臨時文件後調用STTAPI(如Google或百度語音識別)轉換為文本;3.PHP將文本發(fā)送至AI服務(如OpenAIGPT)獲取智能回復;4.PHP再調用TTSAPI(如百度或Google語音合成)將回復轉為語音文件;5.PHP將語音文件流式返回前端播放,完成交互。整個流程由PHP主導數(shù)據(jù)流轉與錯誤處理,確保各環(huán)節(jié)無縫銜接。

1.評論系統(tǒng)商業(yè)價值最大化需結合原生廣告精準投放、用戶付費增值服務(如上傳圖片、評論置頂)、基於評論質量的影響力激勵機制及合規(guī)匿名數(shù)據(jù)洞察變現(xiàn);2.審核策略應採用前置審核 動態(tài)關鍵詞過濾 用戶舉報機制組合,輔以評論質量評分實現(xiàn)內容分級曝光;3.防刷需構建多層防禦:reCAPTCHAv3無感驗證、Honeypot蜜罐字段識別機器人、IP與時間戳頻率限制阻止灌水、內容模式識別標記可疑評論,持續(xù)迭代應對攻擊。

PHP通過數(shù)據(jù)庫事務與FORUPDATE行鎖確保庫存扣減原子性,防止高並發(fā)超賣;2.多平臺庫存一致性需依賴中心化管理與事件驅動同步,結合API/Webhook通知及消息隊列保障數(shù)據(jù)可靠傳遞;3.報警機制應分場景設置低庫存、零/負庫存、滯銷、補貨週期和異常波動策略,並按緊急程度選擇釘釘、短信或郵件通知責任人,且報警信息需完整明確,以實現(xiàn)業(yè)務適配與快速響應。

PHP不直接進行AI圖像處理,而是通過API集成,因為它擅長Web開發(fā)而非計算密集型任務,API集成能實現(xiàn)專業(yè)分工、降低成本、提升效率;2.整合關鍵技術包括使用Guzzle或cURL發(fā)送HTTP請求、JSON數(shù)據(jù)編解碼、API密鑰安全認證、異步隊列處理耗時任務、健壯錯誤處理與重試機制、圖像存儲與展示;3.常見挑戰(zhàn)有API成本失控、生成結果不可控、用戶體驗差、安全風險和數(shù)據(jù)管理難,應對策略分別為設置用戶配額與緩存、提供prompt指導與多圖選擇、異步通知與進度提示、密鑰環(huán)境變量存儲與內容審核、雲(yún)存

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

選擇合適AI語音識別服務並集成PHPSDK;2.用PHP調用ffmpeg將錄音轉為API要求格式(如wav);3.上傳文件至雲(yún)存儲並調用API異步識別;4.解析JSON結果並用NLP技術整理文本;5.生成Word或Markdown文檔完成會議記錄自動化,全過程需確保數(shù)據(jù)加密、訪問控制與合規(guī)性以保障隱私安全。
