https://codex.wordpress.org/Theme_Development
本文是關于開發WordPress主題。如果您想了解有關如何安裝和使用主題的更多信息,請查看使用主題。本主題與使用主題不同,因為它討論了編寫代碼以構建自己的主題的技術方面,而不是如何激活主題或在何處獲取新主題。
為什么WordPress主題
WordPress主題是一起工作以創建WordPress網站的設計和功能的文件。每個主題可能不同,為網站所有者提供了許多選擇,可以立即更改其網站外觀。
您可能希望開發WordPress主題供您自己使用,用于客戶端項目或提交到WordPress主題目錄。為什么還要構建一個WordPress主題?
- 為WordPress網站創建獨特的外觀。
- 利用模板,模板標簽和WordPress循環生成不同的網站結果和外觀。
- 為特定網站功能提供備用模板,例如類別頁面和搜索結果頁面。
- 要在兩個站點布局之間快速切換,或利用主題或樣式切換器,以允許站點所有者更改站點的外觀。
WordPress主題也有很多好處。
- 它將表示樣式和模板文件與系統文件分開,因此站點將升級而不會對站點的可視化表示進行大幅更改。
- 它允許自定義該主題獨有的站點功能。
- 它允許快速更改WordPress網站的視覺設計和布局。
- 它消除了典型的WordPress網站所有者必須學習CSS,HTML和PHP才能擁有一個漂亮的網站的需要。
你為什么要建立自己的WordPress主題?這是真正的問題。
- 這是一個了解CSS,HTML和PHP的更多信息的機會。
- 這是一個將您的CSS,HTML和PHP專業知識用于工作的機會。
- 它很有創意。
- 這很有趣(大部分時間)。
- 如果你把它發布給公眾,你可以感覺很好,你分享并回饋給WordPress社區(好吧,吹牛的權利)
主題發展標準
應使用以下標準對WordPress主題進行編碼:
- 使用結構良好,無錯誤的PHP和有效的HTML。請參閱WordPress編碼標準。
- 使用干凈,有效的CSS。請參閱CSS編碼標準。
- 遵循站點設計和布局中的設計準則。
主題剖析
WordPress主題存在于WordPress主題目錄(默認為wp-content / themes /)的子目錄中,無法使用wp-config.php文件直接移動。Theme的子目錄包含Theme的所有樣式表文件,模板文件和可選函數文件(functions.php),JavaScript文件和圖像。例如,名為“test”的主題將駐留在目錄wp-content / themes / test /中。避免使用主題名稱的數字,因為這會阻止它顯示在可用的主題列表中。
WordPress在每個新安裝中都包含一個默認主題。仔細檢查默認主題中的文件,以便更好地了解如何構建自己的主題文件。
有關視覺指南,請參閱WordPress主題剖析中的此信息圖。
除圖像和JavaScript文件外,WordPress主題通常包含三種主要類型的文件。
- 樣式表名為style.css,它控制網站頁面的顯示(可視化設計和布局)。
- WordPress模板文件控制網站頁面生成WordPress數據庫中信息的方式,以顯示在網站上。
- 可選函數文件(functions.php)作為WordPress主題文件的一部分。
我們來看看這些。
兒童主題
最簡單的主題是一個子主題,它只包含一個style.css文件,以及任何圖像。這是可能的,因為它是另一個主題的孩子,作為其父母。
有關兒童主題的詳細指南,請參閱兒童主題。
主題樣式表
除了主題的CSS樣式信息外,style.css還以注釋的形式提供有關主題的詳細信息。樣式表必須以注釋的形式提供有關主題的詳細信息。不允許兩個主題在其注釋標題中列出相同的詳細信息,因為這會導致主題選擇對話框中出現問題。如果您通過復制現有主題來制作自己的主題,請確保先更改此信息。
以下是樣式表的前幾行示例,稱為樣式表標題,主題為“二十三”:
/ *
主題名稱:二十三
主題URI:http://wordpress.org/themes/twentythirteen
作者:WordPress團隊
作者URI:http://wordpress.org/
描述:WordPress的2013年主題將我們帶回博客,其中包含各種帖子格式,每種格式都以自己獨特的方式精美呈現。設計細節比??比皆是,從鮮艷的配色方案和匹配的標題圖像,漂亮的排版和圖標開始,以及靈活的布局,無論大小,都可以在任何設備上看起來都很棒。
版本:1.0
許可證:GNU通用公共許可證v2或更高版本
許可證URI:http://www.gnu.org/licenses/gpl-2.0.html
標簽:黑色,棕色,橙色,棕褐色,白色,黃色,淺色,單列,雙列,右側邊欄,靈活寬度,自定義標題,自定義菜單,編輯風格,特色圖像,微格式,后格式,rtl語言支持,粘貼帖子,翻譯就緒
文字域名:二十三
像WordPress這樣的主題是根據GPL許可的。
用它來制作一些很酷的東西,玩得開心,并與他人分享你學到的東西。
* /
注意:建議用于作者的名稱與主題作者的wordpress.org用戶名相同,盡管它也可以是作者的真實姓名。選擇是主題作者。
請注意用于描述主題的標記列表。這些允許用戶使用標記過濾器查找主題。您可以在主題評論手冊中找到完整列表。
style.css中的注釋標題行是WordPress能夠識別主題并在“?設計”?>“?主題”下的“?管理面板”中將其顯示為可用主題選項以及任何其他已安裝主題所必需的。
樣式表指南
- 在編寫CSS時遵循CSS編碼標準。
- 盡可能使用有效的CSS。作為例外,使用特定于供應商的前綴來利用CSS3功能。
- 最小化CSS黑客攻擊。明顯的例外是瀏覽器特定的支持,通常是IE的版本。如果可能,將單獨的CSS分成單獨的部分或單獨的文件。
- 所有可能的HTML元素都應該由您的主題設置樣式(除非它是子主題),包括帖子/頁面內容和評論內容。
- 表格,標題,圖像,列表,塊引號等。
- 強烈建議添加打印友好樣式。
- 您可以包含帶有media =“print”的打印樣式表,也可以在主樣式表中添加打印介質塊。
功能文件
主題可以選擇使用函數文件,該文件位于theme子目錄中,名為functions.php。此文件基本上就像一個插件,如果它存在于您正在使用的主題中,它將在WordPress初始化期間自動加載(包括管理頁面和外部頁面)。建議用于此文件:
- 排隊主題樣式表和腳本。請參閱wp_enqueue_scripts。
- 啟用主題功能,如側邊欄,導航菜單,郵政縮略圖,郵政格式,自定義頁眉,自定義背景等。
- 定義主題的多個模板文件中使用的函數。
- 設置選項菜單,為網站所有者提供顏色,樣式和主題其他方面的選項。
默認的WordPress主題包含一個定義了許多這些功能的functions.php文件,因此您可能希望將其用作模型。由于functions.php基本上用作插件,因此Function_Reference列表是獲取有關使用此文件可以執行的操作的更多信息的最佳位置。
請注意決定何時向functions.php或特定插件添加函數:?您可能會發現需要相同的函數才能使用多個父主題。如果是這種情況,則應在插件中創建該函數,而不是針對特定主題的functions.php。這可以包括模板標簽和其他特定功能。所有主題都可以看到插件中包含的功能。
模板文件
模板是用于生成訪問者請求的頁面的PHP源文件,并以HTML格式輸出。模板文件由HTML,PHP和WordPress模板標簽組成。
讓我們看一下可以定義為主題一部分的各種模板。
WordPress允許您為站點的各個方面定義單獨的模板。但是,讓您的站點的所有這些不同模板文件完全正常運行并不是必需的。根據模板層次結構選擇和生成模板,具體取決于特定主題中可用的模板。
作為主題開發人員,您可以使用模板選擇要實現的自定義量。例如,作為一種極端情況,您只能使用一個名為index.php的模板文件作為網站生成和顯示的所有頁面的模板。更常見的用途是讓不同的模板文件生成不同的結果,以允許最大程度的自定義。
模板文件列表
這是WordPress識別的主題文件列表。當然,您的主題可以包含任何其他樣式表,圖像或文件。請記住,以下內容對WordPress有特殊意義 -?有關詳細信息,請參閱模板層次結構。
style.css文件
主要樣式表。這必須包含在您的主題中,并且必須包含主題的信息標題。
rtl.css
rtl樣式表。如果網站的文字方向是從右到左,這將自動包含在內。這可以使用RTLer插件生成。
的index.php
主要模板。如果您的主題提供了自己的模板,則必須存在index.php。
的comments.php
評論模板。
前page.php文件
首頁模板。
home.php
主頁模板,默認為首頁。如果您使用靜態首頁,則這是包含最新帖子的頁面的模板。
single.php中
單個帖子模板。查詢單個帖子時使用。對于此模板和所有其他查詢模板,如果查詢模板不存在,則使用index.php。
單{型交} .PHP
查詢自定義帖子類型中的單個帖子時使用的單個帖子模板。例如,single-book.php將用于顯示名為“book”的自定義帖子類型的單個帖子。如果自定義帖子類型的查詢模板不存在,則使用index.php。
page.php文件
頁面模板。在查詢單個頁面時使用。
category.php
該類別的模板。查詢類別時使用。
tag.php
該標簽模板。查詢標記時使用。
taxonomy.php
該術語的模板。在查詢自定義分類中的術語時使用。
author.php
在筆者的模板。在查詢作者時使用。
date.php
日期/時間模板。在查詢日期或時間時使用。年,月,日,小時,分鐘,秒。
archive.php
存檔模板。在查詢類別,作者或日期時使用。請注意,category.php,author.php和date.php將為其各自的查詢類型覆蓋此模板。
search.php中
搜索結果模板。在執行搜索時使用。
attachment.php
附件模板。查看單個附件時使用。
image.php
圖像附件模板。查看單個圖像附件時使用。如果不存在,將使用attachment.php。
404.php
在404未找到模板。當WordPress找不到與查詢匹配的帖子或頁面時使用。
這些文件對于WordPress具有特殊含義,因為根據模板層次結構,當相應的條件標記返回true?時,它們可用作index.php的替代品(如果可用)。例如,如果只顯示一個帖子,則is_single()函數返回“true”,如果活動主題中有single.php文件,則該模板用于生成頁面。
基本模板
至少,WordPress主題包含兩個文件:
- style.css文件
- 的index.php
這兩個文件都進入Theme目錄。該的index.php?模板文件非常靈活。它可用于包括對標題,側邊欄,頁腳,內容,類別,存檔,搜索,錯誤以及在WordPress中創建的任何其他頁面的所有引用。
或者,它可以分為模塊化模板文件,每個文件都承擔部分工作量。如果您不提供其他模板文件,WordPress可能具有默認文件或函數來執行其作業。例如,如果您不提供searchform.php模板文件,則WordPress具有顯示搜索表單的默認功能。
典型的模板文件包括:
- 的comments.php
- 評論-popup.php
- footer.php
- header.php文件
- 的sidebar.php
使用這些模板文件,您可以將模板標記放在index.php主文件中,以將這些其他文件包含在您希望它們出現在最終生成的頁面中。
- 要包含標頭,請使用get_header()。
- 要包含側邊欄,請使用get_sidebar()。
- 要包含頁腳,請使用get_footer()。
- 要包含搜索表單,請使用get_search_form()。
以下是包含用法的示例:
<?php get_sidebar(); ?>
<?php get_footer(); ?>
某些模板函數的默認文件可能已棄用或不存在,您應在主題中提供這些文件。從3.0版開始,不推薦使用的默認文件位于wp-includes/theme-compat
。例如,您應該提供header.php文件的函數get_header()安全工作,并comments.php文件的功能comments_template()?。
有關這些各種模板如何工作以及如何在其中生成不同信息的更多信息,請閱讀模板文檔。
自定義頁面模板
定義每個頁面模板的文件位于主題目錄中。要為頁面創建新的自定義頁面模板,您必須創建一個文件。讓我們為我們的頁面snarfer.php調用我們的第一個頁面模板。在snarfer.php文件的頂部,輸入以下內容:
<?PHP
/ *
模板名稱:Snarfer
* /
?>
上面的代碼將此snarfer.php文件定義為“Snarfer”模板。當然,“Snarfer”可以替換為大多數文本以更改頁面模板的名稱。此模板名稱將顯示在主題編輯器中,作為編輯此文件的鏈接。
該文件可能被命名幾乎與任何東西.PHP擴展(見預留主題文件名你要的文件名不能使用;這些是用于特定目的的專用文件名WordPress的儲備)。
以上五行代碼取決于您。您編寫的其余代碼將控制使用Snarfer頁面模板的頁面的顯示方式。有關可用于此目的的各種WordPress模板函數的說明,請參閱模板標記。您可能會發現將其他模板(可能是page.php或index.php)復制到snarfer.php然后將上面五行代碼添加到文件的開頭會更方便。這樣,您只需要更改?HTML和PHP代碼,而不是從頭開始創建它們。示例如下所示。創建頁面模板并將其放在主題目錄中后,在創建或編輯頁面時,它將作為選項提供。(注意:創建或編輯頁面時,除非以上述方式定義至少一個模板,否則不會顯示“頁面模板”選項。)
基于查詢的模板文件
WordPress可以為不同的查詢類型加載不同的模板。有兩種方法可以做到這一點:作為一部分內置模板層次結構,并通過使用條件標簽內的循環模板文件。
要使用模板層次結構,您基本上需要提供專用模板文件,這些文件將自動用于覆蓋index.php。例如,如果您的Theme提供了一個名為category.php的模板并且正在查詢某個類別,那么將加載category.php而不是index.php。如果category.php不存在,則像往常一樣使用index.php。
通過提供名為category-6.php的文件,您可以在模板層次結構中獲得更具體的信息?-?在為ID編號為6的類別生成頁面時,將使用此文件而不是category.php。如果您在WordPress版本2.3及更低版本中以站點管理員身??份登錄,則可以在管理?>?類別中找到類別ID號。在WordPress 2.5中,ID列已從管理面板中刪除。您可以通過單擊“編輯類別”找到類別ID '并在URL地址欄上查找cat_ID值。它將顯示'... categories.php?action = edit&cat_ID = 3'其中'3'是類別ID)。有關此過程如何工作的更詳細信息,請參閱類別模板。
如果您的主題需要更多地控制使用哪些模板文件而不是模板層次結構中提供的模板文件,則可以使用條件標記。條件標記基本上在WordPress循環中檢查是否某些特定條件為真,然后您可以根據該條件加載特定模板,或在屏幕上放置一些特定文本。
例如,要在僅在特定類別中找到的帖子中生成獨特的樣式表,代碼可能如下所示:
<?PHP
if(is_category('9')){
get_template_part('single2'); //在ID為“9”的類別中查找帖子
} else {
get_template_part('single1'); //把它放在每個其他類別的帖子上
}
?>
或者,使用查詢,它可能如下所示:
<?PHP
$ post = $ wp_query-> post;
if(in_category('9')){
get_template_part('single2');
} else {
get_template_part('single1');
}
?>
在任何一種情況下,此示例代碼將導致使用不同的模板,具體取決于所顯示的特定帖子的類別。查詢條件不限于類別,但請參閱條件標簽文章以查看所有選項。
定義自定義模板
可以使用WordPress插件系統來定義根據您自己的自定義條件顯示的其他模板。可以使用“template_include”?操作掛鉤完成此高級功能。有關創建插件的更多信息,請參閱Plugin API參考。
包括模板文件
要將另一個模板(除了標題,側邊欄,頁腳,其中包含預定義的包含命令,如get_header())加載到模板中,您可以使用get_template_part()。這使主題可以輕松地重用代碼段。
從模板引用文件
在同一主題中引用其他文件時,請避免使用硬編碼的URI和文件路徑。而是使用bloginfo()引用URI和文件路徑:請參閱從模板引用文件。
請注意,樣式表中使用的URI是相對于樣式表的,而不是引用樣式表的頁面。例如,如果在主題中包含images /目錄,則只需在CSS中指定此相對目錄,如下所示:
h1 {
background-image:url(images / my-background.jpg);
}
插件API掛鉤
在開發主題時,最好記住應該設置主題,以便它可以與用戶可能決定安裝的任何WordPress插件一起使用。插件通過“Action Hooks”為WordPress添加功能(有關更多信息,請參閱插件API)。
大多數Action Hook都在WordPress的核心PHP代碼中,因此您的主題不必具有任何特殊標記即可使用。但是,您的主題中需要存在一些Action Hook,以便插件可以直接在頁眉,頁腳,側邊欄或頁面正文中顯示信息。以下是您需要包含的特殊Action Hook模板標簽的列表:
用于主題函數文件。用于加載外部腳本和樣式表。
在header.php中進入主題的<head>元素。示例插件使用:添加JavaScript代碼。
在結束</ body>標記之前進入footer.php。示例插件使用:在頁腳底部插入需要在其他所有內容后運行的PHP代碼。通常用于插入網絡統計信息代碼,例如Google Analytics。
通常位于主題菜單或側邊欄的<li> Meta </ li>部分;?sidebar.php模板。示例插件使用:包括旋轉廣告或標簽云。
在文件的結束標記(</ div>)之前直接進入comments.php。示例插件使用:顯示評論預覽。
對于真實世界的用法示例,您將在默認主題模板中找到這些插件掛鉤。
主題定制API
從WordPress 3.4開始,默認情況下幾乎所有WordPress主題都提供了一個新的主題自定義功能。主題自定義管理頁面使用add_theme_support()或使用Settings API?自動填充主題聲明支持的選項,并允許管理員查看他們實時更改的非永久預覽。
有興趣為主題的主題自定義頁面添加新選項的主題和插件開發人員應該看到主題自定義API的文檔。有關Theme Customization API的其他教程,請訪問Ottopress.com網站。
不受信任的數據
您應該在主題中轉義動態生成的內容,尤其是輸出到HTML屬性的內容。如WordPress編碼標準中所述,進入屬性的文本應該通過esc_attr()運行,以便單引號或雙引號不會結束屬性值并使XHTML無效并導致安全問題。要檢查的常用位置是title,alt和value屬性。
對于需要安全輸出的常見情況,幾乎沒有特殊的模板標簽。一個這樣的情況涉及使用_title_attribute()而不是the_title()將標題屬性輸出到title屬性以避免安全漏洞。以下是使用可翻譯文本時正確轉義帖子標題鏈接的title屬性的示例:
<a href="<?php the_permalink();?>“title =”<?php sprintf(__('永久鏈接到%s','主題名'),the_title_attribute('echo = 0')); ?>“> <?php the_title(); ?> </A>
替換為正確的電話已過時逃生電話:()wp_specialchars并用htmlspecialchars()與esc_html()?,)clean_url(與esc_url(),和attribute_escape()與esc_attr()?。有關更多信息,請參閱Data_Validation。
翻譯支持/ I18n
為確保語言本地化的平滑過渡,請使用基于WordPress gettext的i18n函數將所有可翻譯文本包裝在模板文件中。這使翻譯文件更容易掛鉤并將標簽,標題和其他模板文本翻譯成網站的當前語言。有關WordPress開發人員的更多信息,請參閱WordPress本地化和I18n。
主題類
實現以下模板標記以將WordPress生成的類屬性添加到body,post和comment元素。對于帖子類,僅適用于The Loop中的元素。
模板文件清單
在開發主題時,請根據以下模板文件標準檢查模板文件。
文件頭(header.php)
- 使用正確的DOCTYPE。
- 開頭的<html>標簽應該包含language_attributes()。
- 所述的<meta>字符集元素應該一切之前被放置,包括<TITLE>元素。
- 使用bloginfo()設置<meta>字符集和描述元素。
- 使用wp_title()設置<title>元素。看看為什么。
- 使用自動Feed鏈接添加Feed鏈接。
- 在結束</ head>標記之前添加對wp_head()的調用。插件使用此操作掛鉤添加自己的腳本,樣式表和其他功能。
- 不要在標題模板中鏈接主題樣式表。請改用主題函數中的wp_enqueue_scripts動作掛鉤。
以下是正確格式化的HTML5兼容頭區域的示例:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<HEAD>
<meta charset =“<?php bloginfo('charset');?>”/>
<title> <?php wp_title(); ?> </ TITLE>
<link rel =“profile”href =“http://gmpg.org/xfn/11”/>
<link rel =“pingback”href =“<?php bloginfo('pingback_url');?>”/>
<?php if(is_singular()&& get_option('thread_comments'))wp_enqueue_script('comment-reply'); ?>
<?php wp_head(); ?>
</ HEAD>
導航菜單(header.php)
- 主題的主導航應該支持帶有wp_nav_menu()的自定義菜單。
- 菜單應支持長鏈接標題和大量列表項。這些項目不應破壞設計或布局。
- 子菜單項應正確顯示。如果可能,請支持子菜單項的下拉菜單樣式。下拉菜單允許顯示菜單深度而不是僅顯示頂級。
小部件(sidebar.php)
- 主題應該盡可能完整。布局中的任何區域都像窗口小部件(標簽云,blogroll,類別列表)或可以接受窗口小部件(側邊欄)那樣應該允許窗口小部件。
- 默認情況下顯示在窗口小部件區域中的內容(例如,硬編碼到側邊欄中)應在從外觀>窗口小部件啟用窗口小部件時消失。
頁腳(footer.php)
- 使用wp_footer()調用,在關閉body標簽之前出現。
<?php wp_footer(); ?>
</ BODY>
</ HTML>
索引(index.php)
- 以摘錄或完整形式顯示帖子列表。根據需要選擇其中一個。
- 包括wp_link_pages()以支持帖子中的導航鏈接。
存檔(archive.php)
- 顯示存檔標題(標記,類別,基于日期或作者存檔)。
- 以摘錄或完整形式顯示帖子列表。根據需要選擇其中一個。
- 包括wp_link_pages()以支持帖子中的導航鏈接。
頁數(page.php)
- 顯示頁面標題和頁面內容。
- 顯示評論列表和評論表單(除非評論已關閉)。
- 包含wp_link_pages()以支持頁面中的導航鏈接。
- 不應顯示標簽,類別,日期和作者等元數據。
- 顯示具有編輯權限的登錄用戶的“編輯”鏈接。
單帖(single.php)
- 包含wp_link_pages()以支持帖子中的導航鏈接。
- 顯示帖子標題和帖子內容。
- 標題應該是純文本而不是指向自身的鏈接。
- 顯示發布日期。
- 除非對設計很重要,否則請遵守日期和時間格式設置。(日期和時間格式的用戶設置位于“?管理面板”?>?“設置”?>“?常規”中)。
- 對于基于用戶設置的輸出,請使用the_time(get_option('date_format'))。
- 顯示作者姓名(如果適用)。
- 顯示帖子類別和帖子標簽。
- 顯示具有編輯權限的登錄用戶的“編輯”鏈接。
- 顯示評論列表和評論表。
- 使用previous_post_link()和next_post_link()顯示下一個和上一個帖子的導航鏈接。
評論(comments.php)
- 作者評論應以不同方式突出顯示
- 如果合適,顯示gravatars(用戶頭像)。
- 支持線程評論。
- 顯示引用/ pingbacks。
- 除非在function_exist()中檢查以避免重新聲明錯誤,否則此文件不應包含函數定義。理想情況下,所有函數都應該在functions.php中。
搜索結果(search.php)
- 以摘錄或完整形式顯示帖子列表。根據需要選擇其中一個。
- 搜索結果頁面顯示生成結果的搜索詞。這是一種簡單但有用的方法來提醒某人他們剛搜索的內容 - 尤其是在結果為零的情況下。使用_search_query?()或get_search_query()(分別顯示或返回值)。例如:
<h2> <?php printf(__('搜索結果:%s'),'<span>'。get_search_query()。'</ span>'); ?> </ H2>
- 在搜索結果頁面上再次包含搜索表單是一種很好的做法。包含它:get_search_form()。
JavaScript的
- 應盡可能將JavaScript代碼放在外部文件中。
- 使用wp_enqueue_script()加載腳本。
- 直接加載到HTML文檔(模板文件)中的JavaScript應該進行CDATA編碼,以防止舊版瀏覽器出錯。
<script type =“text / javascript”>
/ * <![CDATA [* /
//你的Javascript的內容就在這里
/ *]]> * /
</ SCRIPT>
截圖
為您的主題創建屏幕截圖。屏幕截圖應該命名為screenshot.png,并且應該放在頂級目錄中。屏幕截圖應準確顯示主題設計并以PNG格式保存。雖然.jpg,.jpeg和.gif也是屏幕截圖的有效擴展名和文件格式,但不建議使用它們。
推薦的圖像尺寸為1200px寬,900px高。屏幕截圖通常顯示較小,但超大圖像允許在HiDPI顯示屏上進行高分辨率查看。請注意,由于“管理主題”屏幕具有響應性,因此屏幕截圖圖像的頂部和底部可能無法查看,因此請將圖形保持在中心附近。
主題選項
主題可以選擇支持主題自定義屏幕。有關示例代碼,請參閱示例WordPress主題選項頁面。
為用戶角色啟用主題自定義屏幕的可用性時,請使用“edit_theme_options”用戶功能而不是“switch_themes”功能,除非用戶角色實際上也應該能夠切換主題。有關角色和功能以及添加管理菜單的更多信息,請參閱。
如果您在主題中的任何位置使用“edit_themes”功能來獲得主題自定義屏幕(或某些自定義屏幕)的管理員角色訪問權限,請注意,自3.0版本以來,此功能尚未分配給管理員角色在WordPress多站點安裝的情況下默認。請參閱說明。在這種情況下,如果您希望管理員看到“主題選項”菜單,請使用“edit_theme_options”功能。使用WordPress多站點時,請參閱管理員角色的其他功能。
主題測試過程
- 修復PHP和WordPress錯誤。將以下調試設置添加到wp-config.php文件中,以查看已棄用的函數調用和其他與WordPress相關的錯誤:define('WP_DEBUG',true);?。有關詳細信息,請參閱不推薦使用的函數掛鉤。
- 根據模板文件清單檢查模板文件(參見上文)。
- 使用主題單元測試進行貫穿。
- 驗證HTML和CSS。請參閱驗證網站。
- 檢查JavaScript錯誤。
- 在所有目標瀏覽器中測試。例如,IE9,Safari,Chrome,Opera,Firefox和Microsoft Edge。
- 清除任何無關的注釋,調試設置或TODO項目。
- 如果您通過將主題提交到主題目錄公開發布主題,請參閱主題審閱。
資源和參考
代碼標準
主題設計
CSS
模板
功能列表
測試和質量保證
發布和推廣
外部資源和教程
分類: