目錄
3、添加pingback
4、更改博客名称和描述
5、添加订阅feed链接
6、添加wp_head
7、添加Description 和 Keywords
8、显示菜单栏
9、刷新快取
總結
首頁 CMS教程 &#&按 WordPress主題製作全過程(五):製作header.php

WordPress主題製作全過程(五):製作header.php

Feb 21, 2023 am 10:21 AM
php wordpress

前面為大家介紹了《WordPress主題製作全過程(四):小試牛刀》,本文繼續為大家帶來《WordPress主題製作全過程(五):製作header.php》 ,下面一起來看吧~

你可以嘗試用文字編輯器開啟從WordPress主題製作全過程(三):HTML靜態模板製作下載到的.html 文件,不知道你有沒有發現他們頭部的程式碼都非常的相似呢?其實我們可以提取這部分相似的程式碼,放到一個單獨的檔案header.php中,各個頁面想用這部分程式碼的時候再用php的include()或者WordPress的get_header()包含進去,省的每個頁裡面都要寫這部分程式碼,更改起來也可以達到一改全改的目的。

再次提醒:如果你不打算動手寫程式碼,這個系列教學就別看了,對你無益!

接著我們上次創建的主題目錄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.phparchive.phpcontact.phpfull_width.phppage.phpsingle.php

#################################,刪除以上類似程式碼,改成:######
&lt;?php get_header(); ?&gt;
登入後複製
######好,現在打開你的測試部落格主頁,看看我們製作的主題是否還可以正常工作,答案是可以的,跟原來幾乎沒什麼兩樣,但還是一片混亂。 ###get_header()###就相當於將###header.php###中的程式碼拷貝到目前的php檔案。接下來,我們將仔細探討###header.php###中的動態內容。 ###header.php###將會被所有的範本頁面(首頁、分類頁、頁面、標籤頁等)所包含,所以###header.php###中程式碼應該是動態,適合不同頁面的,所以這裡面需要用到PHP程式碼,而不是單純的HTML。下面讓我們一起來修改###header.php###:#########1、更改#########我們都知道不同頁面的title都是不一樣,而且title的設定還會直接影響SEO的效果,所以這裡應該要謹慎設定。以下提供一種SEO優化的title寫法,將###<title>Aurelius | Blog###改成:###
<title><?php if ( is_home() ) {
		bloginfo(&#39;name&#39;); echo " - "; bloginfo(&#39;description&#39;);
	} elseif ( is_category() ) {
		single_cat_title(); echo " - "; bloginfo(&#39;name&#39;);
	} elseif (is_single() || is_page() ) {
		single_post_title();
	} elseif (is_search() ) {
		echo "搜索结果"; echo " - "; bloginfo(&#39;name&#39;);
	} elseif (is_404() ) {
		echo &#39;页面未找到!&#39;;
	} else {
		wp_title(&#39;&#39;,true);
	} ?></title>
登入後複製
###以上新增的php程式碼運用了條件判斷,針對不同的頁面採用不同title,這裡解釋這幾個條件標籤。 ############is_home()###:目前頁面為首頁時傳回true#########is_category()###:目前頁面為分類頁時傳回true #########is_single()###:當前頁面為單一文章頁時傳回true#########is_page()###:目前頁面為單一頁面時傳回true# ########到目前為止,可能你對這些條件判斷標籤還沒有深入的認識,也搞不懂到底是用了這些標籤會對主題造成怎樣的影響的,隨著我們教程的進一步深入,你會慢慢理解的。如果你不喜歡上面title的寫法,可以自行上網搜尋相關程式碼:###WordPress SEO title############2、更改樣式表style.css路徑######## ##在此之前你看到的首頁都是混亂的,原因是還沒載入css樣式。現在我們一起把樣式加上去。你可以在###header.php###中找到這段程式碼:######
<link rel="stylesheet" href="./style.css" type="text/css" media="screen" />
登入後複製
#######聰明的你可能問:###wp-content\themes\Aurelius###目錄下不是已經有一個###style.css### 嗎?那為什麼 ###header.php### 沒有載入css呢?結果你是可以看到的,頁面一篇混亂,可以確定確實沒有載入到css。因為這是WordPress的主題,是要被WordPress的主程式調用,經過層層解析才能把你的部落格顯示出來,而不是簡簡單單的html靜態網頁檔。正確的改法:######
<link rel="stylesheet" href="<?php bloginfo(&#39;stylesheet_url&#39;); ?>" type="text/css" media="screen" />
登入後複製
###

bloginfo(&#39;stylesheet_url&#39;)输出的是你的主题css文件绝对网址,如http://localhost/wp/wp-content/themes/Aurelius/style.css,WordPress程序会自动识别你的WordPress安装地址,当前启用的主题,自动输出这个style.css链接。现在你可以试着更改一下,然后刷新一下你的博客首页,查看网页源代码,style.css的链接是不是变成你的了?页面是否可以正常显示了呢?

如果你的css文件不是style.css,且不是在主题根目录下,那怎么办呢?我们可以用<?php bloginfo(&#39;template_url&#39;); ?>来获取主题根目录的URL,如你的主题css文件是abc.css,那么我们可以这样写:<?php bloginfo(&#39;template_url&#39;); ?>/abc.css,如果是在子目录css下那就这样:<?php bloginfo(&#39;template_url&#39;); ?>/css/abc.css。同样加载js文件也是这样。

不过,还有几张图片的路径不对,还不能显示出来,现在我们一起用文本编辑器打开index.phparchive.phpcontact.phpfull_width.phppage.phpsingle.php,给这些图片加上正确的URL,搜索代码,将所有的:src="images/,批量替换成src="<?php bloginfo(&#39;template_url&#39;); ?>/images/。现在再刷新你的主页,看文章的缩略图是否可以正常显示。<?php bloginfo(&#39;template_url&#39;); ?>用于输出主题目录的URL。

3、添加pingback

至于什么是pingback,你可以在搜索引擎中输入关键字:WordPress pingback,就可以得到你想要的答案了。如果你需要这个功能,可以在<head>里面添加以下代码:

<link rel="pingback" href="<?php bloginfo(&#39;pingback_url&#39;); ?>" />
登入後複製

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>
登入後複製

上面是静态代码,现在做如下修改:

<h1 id="logo" class="grid_4"><a href="<?php echo get_option(&#39;home&#39;); ?>/"><?php bloginfo(&#39;name&#39;); ?></a></h1>
<h2 class="grid_12 caption clearfix"><?php bloginfo(&#39;description&#39;); ?></h2>
登入後複製

现在你的博客首页看到的就是你博客名称和描述了,并且logo也是一个链接指向你的博客首页。我们这里说说这些php代码的作用。

  • <?php echo get_option(&#39;home&#39;); ?> 输出你的博客首页网址
  • <?php bloginfo(&#39;name&#39;); ?> 输出你的博客名称
  • <?php bloginfo(&#39;description&#39;); ?> 输出博客描述

博客名称和描述可以在WordPress管理后台 - 设置 - 常规那里更改。以后制作你自己的WordPress主题的时候,你可参照上面的说明对你的主题进行修改。

5、添加订阅feed链接

相信每个已发布的WordPress博客主题都会提供feed订阅,当然我们的主题也应该提供这样的功能。在</head>之前添加以下代码:

<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo(&#39;rss2_url&#39;); ?>" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="<?php bloginfo(&#39;comments_rss2_url&#39;); ?>" />
登入後複製

6、添加wp_head

有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。打开header.php,在</head>前面添加以下代码即可:

&lt;?php wp_head(); ?&gt;
登入後複製

现在打开你的博客主页,查看源代码,</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=&#39;index&#39;  href=&#39;http://ludou.co.tv&#39; />
<meta name="generator" content="WordPress 2.9.2" />
登入後複製

7、添加Description 和 Keywords

关于添加网页描述和关键字,可以查看我之前写过的文章:WordPress使用经验(一)独立的Description 和 Keywords

8、显示菜单栏

目前菜单栏有Home、Blog和Contact Us几个菜单,不过这些都是静态的内容,并不是你博客上的页面。现在我们将菜单栏换成你的菜单,这里只在菜单栏中列出页面page,当然你也可以再放置分类,根据你的喜好来吧,将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(&#39;depth=1&title_li=0&sort_column=menu_order&#39;); ?>
	<li <?php if (is_home()) { echo &#39;class="current"&#39;;} ?>><a title="<?php bloginfo(&#39;name&#39;); ?>"  href="<?php echo get_option(&#39;home&#39;); ?>/">主页</a></li>
</ul>
登入後複製

下面兩篇文章介紹了WordPress選單的製作方法,也可以參考:

9、刷新快取

<body>前面,</head>後面加入PHP程式碼,用於提高程式運作效率:<?php flush(); ?>

總結

好了,本次練習到此結束!現在總結一些今天講到的比較重要的知識點:

  • &lt;?php get_header(); ?&gt; 從目前主題資料夾中包含header.php文件
  • is_home(),is_single(),is_category()等幾個條件判斷標籤
  • <?php bloginfo('stylesheet_url'); ? > 輸出主題資料夾中style.css檔案的路徑
  • <?php bloginfo('pingback_url'); ?> 輸出部落格pingback網址
  • <?php bloginfo('template_url'); ?> 輸出部落格主題目錄URL
  • <?php echo get_option('home'); ?&gt ;  輸出你的部落格首頁網址
  • <?php bloginfo('name'); ?> 輸出你的部落格名稱
  • # <?php bloginfo('description'); ?> 輸出部落格描述
  • &lt;?php wp_head(); ?&gt; 用於包含WordPress程式輸出頭部資訊
  • <?php wp_list_categories(); ?> 用於列出部落格分類頁
  • <?php wp_list_pages(); ? > 用來列出部落格頁面

到目前為止你的部落格還只能看到主頁,不要灰心,凡事一步一腳印,以後教學會慢慢深入的。最後提供經過本次修改後的Aurelius主題文件,你可以用文字編輯器打開看看,跟你修改的文件比較比較(尤其是header.php),看看你改得怎麼樣?

WordPress主題製作全過程(五):製作header.php

推薦學習:《WordPress教學

以上是WordPress主題製作全過程(五):製作header.php的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

wordpress屏蔽ip的插件有哪些 wordpress屏蔽ip的插件有哪些 Apr 20, 2025 am 08:27 AM

WordPress 屏蔽 IP 的插件選擇至關重要。可考慮以下類型:基於 .htaccess:高效,但操作複雜;數據庫操作:靈活,但效率較低;基於防火牆:安全性能高,但配置複雜;自行編寫:最高控制權,但需要更多技術水平。

IIS和PHP的兼容性:深度潛水 IIS和PHP的兼容性:深度潛水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

wordpress編輯日期怎麼取消 wordpress編輯日期怎麼取消 Apr 20, 2025 am 10:54 AM

WordPress 編輯日期可以通過三種方法取消:1. 安裝 Enable Post Date Disable 插件;2. 在 functions.php 文件中添加代碼;3. 手動編輯 wp_posts 表中的 post_modified 列。

wordpress主題頭部圖片如何更換 wordpress主題頭部圖片如何更換 Apr 20, 2025 am 10:00 AM

更換 WordPress 主題頭部圖片的分步指南:登錄 WordPress 儀錶盤,導航至“外觀”&gt;“主題”。選擇要編輯的主題,然後單擊“自定義”。打開“主題選項”面板並尋找“網站標頭”或“頭部圖片”選項。單擊“選擇圖像”按鈕並上傳新的頭部圖片。裁剪圖像並單擊“保存並裁剪”。單擊“保存並發布”按鈕以更新更改。

wordpress主機怎麼建站 wordpress主機怎麼建站 Apr 20, 2025 am 11:12 AM

要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。

wordpress怎麼寫頁頭 wordpress怎麼寫頁頭 Apr 20, 2025 pm 12:09 PM

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。

wordpress出現錯誤怎麼辦 wordpress出現錯誤怎麼辦 Apr 20, 2025 am 11:57 AM

WordPress 錯誤解決指南:500 內部服務器錯誤:禁用插件或檢查服務器錯誤日誌。 404 未找到頁面:檢查 permalink 並確保頁面鏈接正確。白屏死機:增加服務器 PHP 內存限制。數據庫連接錯誤:檢查數據庫服務器狀態和 WordPress 配置。其他技巧:啟用調試模式、檢查錯誤日誌和尋求支持。預防錯誤:定期更新 WordPress、僅安裝必要插件、定期備份網站和優化網站性能。

See all articles