主題發(fā)展-WordPress主題開發(fā)官方文檔

    本文是關(guān)于開發(fā)WordPress主題。如果您想了解有關(guān)如何安裝和使用主題的更多信息,請查看使用主題。本主題與使用主題不同,因為它討論了編寫代碼以構(gòu)建自己的主題的技術(shù)方面,而不是如何激活主題或在何處獲取新主題。

    https://codex.wordpress.org/Theme_Development

    本文是關(guān)于開發(fā)WordPress主題。如果您想了解有關(guān)如何安裝和使用主題的更多信息,請查看使用主題。本主題與使用主題不同,因為它討論了編寫代碼以構(gòu)建自己的主題的技術(shù)方面,而不是如何激活主題或在何處獲取新主題。

    為什么WordPress主題

    WordPress主題是一起工作以創(chuàng)建WordPress網(wǎng)站的設(shè)計和功能的文件。每個主題可能不同,為網(wǎng)站所有者提供了許多選擇,可以立即更改其網(wǎng)站外觀。

    您可能希望開發(fā)WordPress主題供您自己使用,用于客戶端項目或提交到WordPress主題目錄。為什么還要構(gòu)建一個WordPress主題?

    WordPress主題也有很多好處。

    • 它將表示樣式和模板文件與系統(tǒng)文件分開,因此站點(diǎn)將升級而不會對站點(diǎn)的可視化表示進(jìn)行大幅更改。
    • 它允許自定義該主題獨(dú)有的站點(diǎn)功能。
    • 它允許快速更改WordPress網(wǎng)站的視覺設(shè)計和布局。
    • 它消除了典型的WordPress網(wǎng)站所有者必須學(xué)習(xí)CSS,HTML和PHP才能擁有一個漂亮的網(wǎng)站的需要。

    你為什么要建立自己的WordPress主題?這是真正的問題。

    • 這是一個了解CSS,HTML和PHP的更多信息的機(jī)會。
    • 這是一個將您的CSS,HTML和PHP專業(yè)知識用于工作的機(jī)會。
    • 它很有創(chuàng)意。
    • 這很有趣(大部分時間)。
    • 如果你把它發(fā)布給公眾,你可以感覺很好,你分享并回饋給WordPress社區(qū)(好吧,吹牛的權(quán)利)

    主題發(fā)展標(biāo)準(zhǔn)

    應(yīng)使用以下標(biāo)準(zhǔn)對WordPress主題進(jìn)行編碼:

    主題剖析

    WordPress主題存在于WordPress主題目錄(默認(rèn)為wp-content / themes /)的子目錄中,無法使用wp-config.php文件直接移動。Theme的子目錄包含Theme的所有樣式表文件,模板文件和可選函數(shù)文件(functions.php),JavaScript文件和圖像。例如,名為“test”的主題將駐留在目錄wp-content / themes / test /中。避免使用主題名稱的數(shù)字,因為這會阻止它顯示在可用的主題列表中。

    WordPress在每個新安裝中都包含一個默認(rèn)主題。仔細(xì)檢查默認(rèn)主題中的文件,以便更好地了解如何構(gòu)建自己的主題文件。

    有關(guān)視覺指南,請參閱WordPress主題剖析中的信息圖

    除圖像和JavaScript文件外,WordPress主題通常包含三種主要類型的文件。

    1. 樣式表名為style.css,它控制網(wǎng)站頁面的顯示(可視化設(shè)計和布局)。
    2. WordPress模板文件控制網(wǎng)站頁面生成WordPress數(shù)據(jù)庫中信息的方式,以顯示在網(wǎng)站上。
    3. 可選函數(shù)文件(functions.php)作為WordPress主題文件的一部分。

    我們來看看這些。

    兒童主題

    最簡單的主題是一個子主題,它只包含一個style.css文件,以及任何圖像。這是可能的,因為它是另一個主題的孩子,作為其父母。

    有關(guān)兒童主題的詳細(xì)指南,請參閱兒童主題

    主題樣式表

    除了主題的CSS樣式信息外,style.css還以注釋的形式提供有關(guān)主題的詳細(xì)信息。樣式表必須以注釋的形式提供有關(guān)主題的詳細(xì)信息。不允許兩個主題在其注釋標(biāo)題中列出相同的詳細(xì)信息,因為這會導(dǎo)致主題選擇對話框中出現(xiàn)問題。如果您通過復(fù)制現(xiàn)有主題來制作自己的主題,請確保先更改此信息。

    以下是樣式表的前幾行示例,稱為樣式表標(biāo)題,主題為“二十三”:

    / *
    主題名稱:二十三
    主題URI:http://wordpress.org/themes/twentythirteen
    作者:WordPress團(tuán)隊
    作者URI:http://wordpress.org/
    描述:WordPress的2013年主題將我們帶回博客,其中包含各種帖子格式,每種格式都以自己獨(dú)特的方式精美呈現(xiàn)。設(shè)計細(xì)節(jié)比??比皆是,從鮮艷的配色方案和匹配的標(biāo)題圖像,漂亮的排版和圖標(biāo)開始,以及靈活的布局,無論大小,都可以在任何設(shè)備上看起來都很棒。
    版本:1.0
    許可證:GNU通用公共許可證v2或更高版本
    許可證URI:http://www.gnu.org/licenses/gpl-2.0.html
    標(biāo)簽:黑色,棕色,橙色,棕褐色,白色,黃色,淺色,單列,雙列,右側(cè)邊欄,靈活寬度,自定義標(biāo)題,自定義菜單,編輯風(fēng)格,特色圖像,微格式,后格式,rtl語言支持,粘貼帖子,翻譯就緒
    文字域名:二十三
    
    像WordPress這樣的主題是根據(jù)GPL許可的。
    用它來制作一些很酷的東西,玩得開心,并與他人分享你學(xué)到的東西。
    * /
    

    注意:建議用于作者的名稱與主題作者的wordpress.org用戶名相同,盡管它也可以是作者的真實姓名。選擇是主題作者。

    請注意用于描述主題的標(biāo)記列表。這些允許用戶使用標(biāo)記過濾器查找主題。您可以在主題評論手冊中找到完整列表。

    style.css中的注釋標(biāo)題行是WordPress能夠識別主題并在“?設(shè)計”?>“?主題”下的“?管理面板”中將其顯示為可用主題選項以及任何其他已安裝主題所必需的

    樣式表指南

    • 在編寫CSS時遵循CSS編碼標(biāo)準(zhǔn)
    • 盡可能使用有效的CSS。作為例外,使用特定于供應(yīng)商的前綴來利用CSS3功能。
    • 最小化CSS黑客攻擊。明顯的例外是瀏覽器特定的支持,通常是IE的版本。如果可能,將單獨(dú)的CSS分成單獨(dú)的部分或單獨(dú)的文件。
    • 所有可能的HTML元素都應(yīng)該由您的主題設(shè)置樣式(除非它是子主題),包括帖子/頁面內(nèi)容和評論內(nèi)容。
    • 表格,標(biāo)題,圖像,列表,塊引號等。
    • 強(qiáng)烈建議添加打印友好樣式。
    • 您可以包含帶有media =“print”的打印樣式表,也可以在主樣式表中添加打印介質(zhì)塊。

    功能文件

    主題可以選擇使用函數(shù)文件,該文件位于theme子目錄中,名為functions.php。此文件基本上就像一個插件,如果它存在于您正在使用的主題中,它將在WordPress初始化期間自動加載(包括管理頁面和外部頁面)。建議用于此文件:

    默認(rèn)的WordPress主題包含一個定義了許多這些功能的functions.php文件,因此您可能希望將其用作模型。由于functions.php基本上用作插件,因此Function_Reference列表是獲取有關(guān)使用此文件可以執(zhí)行的操作的更多信息的最佳位置。

    請注意決定何時向functions.php或特定插件添加函數(shù):?您可能會發(fā)現(xiàn)需要相同的函數(shù)才能使用多個父主題。如果是這種情況,則應(yīng)在插件中創(chuàng)建該函數(shù),而不是針對特定主題的functions.php。這可以包括模板標(biāo)簽和其他特定功能。所有主題都可以看到插件中包含的功能。

    模板文件

    模板是用于生成訪問者請求的頁面的PHP源文件,并以HTML格式輸出。模板文件由HTML,PHP和WordPress模板標(biāo)簽組成

    讓我們看一下可以定義為主題一部分的各種模板。

    WordPress允許您為站點(diǎn)的各個方面定義單獨(dú)的模板。但是,讓您的站點(diǎn)的所有這些不同模板文件完全正常運(yùn)行并不是必需的。根據(jù)模板層次結(jié)構(gòu)選擇和生成模板,具體取決于特定主題中可用的模板。

    作為主題開發(fā)人員,您可以使用模板選擇要實現(xiàn)的自定義量。例如,作為一種極端情況,您只能使用一個名為index.php的模板文件作為網(wǎng)站生成和顯示的所有頁面的模板。更常見的用途是讓不同的模板文件生成不同的結(jié)果,以允許最大程度的自定義。

    模板文件列表

    這是WordPress識別的主題文件列表。當(dāng)然,您的主題可以包含任何其他樣式表,圖像或文件。請記住,以下內(nèi)容對WordPress有特殊意義 -?有關(guān)詳細(xì)信息,請參閱模板層次結(jié)構(gòu)

    style.css文件

    主要樣式表。這必須包含在您的主題中,并且必須包含主題的信息標(biāo)題。

    rtl.css

    rtl樣式表。如果網(wǎng)站的文字方向是從右到左,這將自動包含在內(nèi)。這可以使用RTLer插件生成。

    的index.php

    主要模板。如果您的主題提供了自己的模板,則必須存在index.php

    的comments.php

    評論模板。

    前page.php文件

    首頁模板。

    home.php

    主頁模板,默認(rèn)為首頁。如果您使用靜態(tài)首頁,則這是包含最新帖子的頁面的模板。

    single.php中

    單個帖子模板。查詢單個帖子時使用。對于此模板和所有其他查詢模板,如果查詢模板不存在,則使用index.php

    單{型交} .PHP

    查詢自定義帖子類型中的單個帖子時使用的單個帖子模板。例如,single-book.php將用于顯示名為“book”的自定義帖子類型的單個帖子。如果自定義帖子類型的查詢模板不存在,則使用index.php

    page.php文件

    頁面模板。在查詢單個頁面時使用。

    category.php

    類別的模板。查詢類別時使用。

    tag.php

    標(biāo)簽?zāi)0?/a>。查詢標(biāo)記時使用。

    taxonomy.php

    術(shù)語的模板。在查詢自定義分類中的術(shù)語時使用。

    author.php

    筆者的模板。在查詢作者時使用。

    date.php

    日期/時間模板。在查詢?nèi)掌诨驎r間時使用。年,月,日,小時,分鐘,秒。

    archive.php

    存檔模板。在查詢類別,作者或日期時使用。請注意,category.phpauthor.phpdate.php將為其各自的查詢類型覆蓋此模板。

    search.php中

    搜索結(jié)果模板。在執(zhí)行搜索時使用。

    attachment.php

    附件模板。查看單個附件時使用。

    image.php

    圖像附件模板。查看單個圖像附件時使用。如果不存在,將使用attachment.php。

    404.php

    404未找到模板。當(dāng)WordPress找不到與查詢匹配的帖子或頁面時使用。

    這些文件對于WordPress具有特殊含義,因為根據(jù)模板層次結(jié)構(gòu),當(dāng)相應(yīng)的條件標(biāo)記返回true?時,它們可用作index.php的替代品(如果可用)。例如,如果只顯示一個帖子,則is_single()函數(shù)返回“true”,如果活動主題中有single.php文件,則該模板用于生成頁面。

    基本模板

    至少,WordPress主題包含兩個文件:

    • style.css文件
    • 的index.php

    這兩個文件都進(jìn)入Theme目錄。該的index.php?模板文件非常靈活。它可用于包括對標(biāo)題,側(cè)邊欄,頁腳,內(nèi)容,類別,存檔,搜索,錯誤以及在WordPress中創(chuàng)建的任何其他頁面的所有引用。

    或者,它可以分為模塊化模板文件,每個文件都承擔(dān)部分工作量。如果您不提供其他模板文件,WordPress可能具有默認(rèn)文件或函數(shù)來執(zhí)行其作業(yè)。例如,如果您不提供searchform.php模板文件,則WordPress具有顯示搜索表單的默認(rèn)功能。

    典型的模板文件包括:

    • 的comments.php
    • 評論-popup.php
    • footer.php
    • header.php文件
    • 的sidebar.php

    使用這些模板文件,您可以將模板標(biāo)記放在index.php主文件中,以將這些其他文件包含在您希望它們出現(xiàn)在最終生成的頁面中。

    以下是包含用法的示例:

    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>
    

    某些模板函數(shù)的默認(rèn)文件可能已棄用或不存在,您應(yīng)在主題中提供這些文件。從3.0版開始,不推薦使用的默認(rèn)文件位于wp-includes/theme-compat。例如,您應(yīng)該提供header.php文件的函數(shù)get_header()安全工作,并comments.php文件的功能comments_template()?

    有關(guān)這些各種模板如何工作以及如何在其中生成不同信息的更多信息,請閱讀模板文檔。

    自定義頁面模板

    定義每個頁面模板的文件位于主題目錄中。要為頁面創(chuàng)建新的自定義頁面模板,您必須創(chuàng)建一個文件。讓我們?yōu)槲覀兊捻撁?em>snarfer.php調(diào)用我們的第一個頁面模板。在snarfer.php文件的頂部,輸入以下內(nèi)容:

    <?PHP
    / *
    模板名稱:Snarfer
    * /
    ?>
    

    上面的代碼將此snarfer.php文件定義為“Snarfer”模板。當(dāng)然,“Snarfer”可以替換為大多數(shù)文本以更改頁面模板的名稱。此模板名稱將顯示在主題編輯器中,作為編輯此文件的鏈接。

    該文件可能被命名幾乎與任何東西.PHP擴(kuò)展(見預(yù)留主題文件名你要的文件名不能使用;這些是用于特定目的的專用文件名WordPress的儲備)。

    以上五行代碼取決于您。您編寫的其余代碼將控制使用Snarfer頁面模板的頁面的顯示方式。有關(guān)可用于此目的的各種WordPress模板函數(shù)的說明,請參閱模板標(biāo)記。您可能會發(fā)現(xiàn)將其他模板(可能是page.phpindex.php)復(fù)制到snarfer.php然后將上面五行代碼添加到文件的開頭會更方便。這樣,您只需要更改?HTML和PHP代碼,而不是從頭開始創(chuàng)建它們。示例如下所示。創(chuàng)建頁面模板并將其放在主題目錄中后,在創(chuàng)建或編輯頁面時,它將作為選項提供。(注意:創(chuàng)建或編輯頁面時,除非以上述方式定義至少一個模板,否則不會顯示“頁面模板”選項。)

    基于查詢的模板文件

    WordPress可以為不同的查詢類型加載不同的模板。有兩種方法可以做到這一點(diǎn):作為一部分內(nèi)置模板層次結(jié)構(gòu),并通過使用條件標(biāo)簽內(nèi)的循環(huán)模板文件。

    要使用模板層次結(jié)構(gòu),您基本上需要提供專用模板文件,這些文件將自動用于覆蓋index.php。例如,如果您的Theme提供了一個名為category.php的模板并且正在查詢某個類別,那么將加載category.php而不是index.php。如果category.php不存在,則像往常一樣使用index.php

    通過提供名為category-6.php的文件,您可以在模板層次結(jié)構(gòu)中獲得更具體的信息?-?在為ID編號為6的類別生成頁面時,將使用此文件而不是category.php。如果您在WordPress版本2.3及更低版本中以站點(diǎn)管理員身??份登錄,則可以在管理?>?類別中找到類別ID號。在WordPress 2.5中,ID列已從管理面板中刪除。您可以通過單擊“編輯類別”找到類別ID '并在URL地址欄上查找cat_ID值。它將顯示'... categories.php?action = edit&cat_ID = 3'其中'3'是類別ID)。有關(guān)此過程如何工作的更詳細(xì)信息,請參閱類別模板

    如果您的主題需要更多地控制使用哪些模板文件而不是模板層次結(jié)構(gòu)中提供的模板文件,則可以使用條件標(biāo)記。條件標(biāo)記基本上在WordPress循環(huán)中檢查是否某些特定條件為真,然后您可以根據(jù)該條件加載特定模板,或在屏幕上放置一些特定文本。

    例如,要在僅在特定類別中找到的帖子中生成獨(dú)特的樣式表,代碼可能如下所示:

    <?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');
    }
    ?>
    

    在任何一種情況下,此示例代碼將導(dǎo)致使用不同的模板,具體取決于所顯示的特定帖子的類別。查詢條件不限于類別,但請參閱條件標(biāo)簽文章以查看所有選項。

    定義自定義模板

    可以使用WordPress插件系統(tǒng)來定義根據(jù)您自己的自定義條件顯示的其他模板。可以使用“template_include”?操作掛鉤完成此高級功能。有關(guān)創(chuàng)建插件的更多信息,請參閱Plugin API參考。

    包括模板文件

    要將另一個模板(除了標(biāo)題,側(cè)邊欄,頁腳,其中包含預(yù)定義的包含命令,如get_header()加載到模板中,您可以使用get_template_part()。這使主題可以輕松地重用代碼段。

    從模板引用文件

    在同一主題中引用其他文件時,請避免使用硬編碼的URI和文件路徑。而是使用bloginfo()引用URI和文件路徑:請參閱從模板引用文件

    請注意,樣式表中使用的URI是相對于樣式表的,而不是引用樣式表的頁面。例如,如果在主題中包含images /目錄,則只需在CSS中指定此相對目錄,如下所示:

    h1 {
        background-image:url(images / my-background.jpg);
    }
    

    插件API掛鉤

    在開發(fā)主題時,最好記住應(yīng)該設(shè)置主題,以便它可以與用戶可能決定安裝的任何WordPress插件一起使用。插件通過“Action Hooks”為WordPress添加功能(有關(guān)更多信息,請參閱插件API)。

    大多數(shù)Action Hook都在WordPress的核心PHP代碼中,因此您的主題不必具有任何特殊標(biāo)記即可使用。但是,您的主題中需要存在一些Action Hook,以便插件可以直接在頁眉,頁腳,側(cè)邊欄或頁面正文中顯示信息。以下是您需要包含的特殊Action Hook模板標(biāo)簽的列表:

    wp_enqueue_scripts

    用于主題函數(shù)文件。用于加載外部腳本和樣式表。

    wp_head()

    header.php中進(jìn)入主題的<head>元素。示例插件使用:添加JavaScript代碼。

    wp_footer()

    在結(jié)束</ body>標(biāo)記之前進(jìn)入footer.php。示例插件使用:在頁腳底部插入需要在其他所有內(nèi)容后運(yùn)行的PHP代碼。通常用于插入網(wǎng)絡(luò)統(tǒng)計信息代碼,例如Google Analytics。

    wp_meta()

    通常位于主題菜單或側(cè)邊欄的<li> Meta </ li>部分;?sidebar.php模板。示例插件使用:包括旋轉(zhuǎn)廣告或標(biāo)簽云。

    comment_form()

    在文件的結(jié)束標(biāo)記(</ div>)之前直接進(jìn)入comments.php。示例插件使用:顯示評論預(yù)覽。

    對于真實世界的用法示例,您將在默認(rèn)主題模板中找到這些插件掛鉤。

    主題定制API

    從WordPress 3.4開始,默認(rèn)情況下幾乎所有WordPress主題都提供了一個新的主題自定義功能。主題自定義管理頁面使用add_theme_support()或使用Settings API?自動填充主題聲明支持的選項,并允許管理員查看他們實時更改的非永久預(yù)覽。

    有興趣為主題的主題自定義頁面添加新選項的主題和插件開發(fā)人員應(yīng)該看到主題自定義API的文檔。有關(guān)Theme Customization API的其他教程,請訪問Ottopress.com網(wǎng)站

    不受信任的數(shù)據(jù)

    您應(yīng)該在主題中轉(zhuǎn)義動態(tài)生成的內(nèi)容,尤其是輸出到HTML屬性的內(nèi)容。如WordPress編碼標(biāo)準(zhǔn)中所述,進(jìn)入屬性的文本應(yīng)該通過esc_attr()運(yùn)行,以便單引號或雙引號不會結(jié)束屬性值并使XHTML無效并導(dǎo)致安全問題。要檢查的常用位置是title,alt和value屬性。

    對于需要安全輸出的常見情況,幾乎沒有特殊的模板標(biāo)簽。一個這樣的情況涉及使用_title_attribute()而不是the_title()將標(biāo)題屬性輸出到title屬性以避免安全漏洞。以下是使用可翻譯文本時正確轉(zhuǎn)義帖子標(biāo)題鏈接的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()?。有關(guān)更多信息,請參閱Data_Validation

    翻譯支持/ I18n

    為確保語言本地化的平滑過渡,請使用基于WordPress gettext的i18n函數(shù)將所有可翻譯文本包裝在模板文件中。這使翻譯文件更容易掛鉤并將標(biāo)簽,標(biāo)題和其他模板文本翻譯成網(wǎng)站的當(dāng)前語言。有關(guān)WordPress開發(fā)人員的更多信息,請參閱WordPress本地化I18n

    主題類

    實現(xiàn)以下模板標(biāo)記以將WordPress生成的類屬性添加到body,post和comment元素。對于帖子類,僅適用于The Loop中的元素。

    模板文件清單

    在開發(fā)主題時,請根據(jù)以下模板文件標(biāo)準(zhǔn)檢查模板文件。

    文件頭(header.php)

    以下是正確格式化的HTML5兼容頭區(qū)域的示例:

    <!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>
    

    導(dǎo)航菜單(header.php

    • 主題的主導(dǎo)航應(yīng)該支持帶有wp_nav_menu()的自定義菜單。
    • 菜單應(yīng)支持長鏈接標(biāo)題和大量列表項。這些項目不應(yīng)破壞設(shè)計或布局。
    • 子菜單項應(yīng)正確顯示。如果可能,請支持子菜單項的下拉菜單樣式。下拉菜單允許顯示菜單深度而不是僅顯示頂級。

    小部件(sidebar.php

    • 主題應(yīng)該盡可能完整。布局中的任何區(qū)域都像窗口小部件(標(biāo)簽云,blogroll,類別列表)或可以接受窗口小部件(側(cè)邊欄)那樣應(yīng)該允許窗口小部件。
    • 默認(rèn)情況下顯示在窗口小部件區(qū)域中的內(nèi)容(例如,硬編碼到側(cè)邊欄中)應(yīng)在從外觀>窗口小部件啟用窗口小部件時消失。

    頁腳(footer.php

    • 使用wp_footer()調(diào)用,在關(guān)閉body標(biāo)簽之前出現(xiàn)。
    <?php wp_footer(); ?>
    </ BODY>
    </ HTML>
    

    索引(index.php

    • 以摘錄或完整形式顯示帖子列表。根據(jù)需要選擇其中一個。
    • 包括wp_link_pages()以支持帖子中的導(dǎo)航鏈接。

    存檔(archive.php

    • 顯示存檔標(biāo)題(標(biāo)記,類別,基于日期或作者存檔)。
    • 以摘錄或完整形式顯示帖子列表。根據(jù)需要選擇其中一個。
    • 包括wp_link_pages()以支持帖子中的導(dǎo)航鏈接。

    頁數(shù)(page.php

    • 顯示頁面標(biāo)題和頁面內(nèi)容。
    • 顯示評論列表和評論表單(除非評論已關(guān)閉)。
    • 包含wp_link_pages()以支持頁面中的導(dǎo)航鏈接。
    • 不應(yīng)顯示標(biāo)簽,類別,日期和作者等元數(shù)據(jù)。
    • 顯示具有編輯權(quán)限的登錄用戶的“編輯”鏈接。

    單帖(single.php

    • 包含wp_link_pages()以支持帖子中的導(dǎo)航鏈接。
    • 顯示帖子標(biāo)題和帖子內(nèi)容。
    • 標(biāo)題應(yīng)該是純文本而不是指向自身的鏈接。
    • 顯示發(fā)布日期。
    • 除非對設(shè)計很重要,否則請遵守日期和時間格式設(shè)置。(日期和時間格式的用戶設(shè)置位于“?管理面板”?>?“設(shè)置”?>“?常規(guī)”中)。
    • 對于基于用戶設(shè)置的輸出,請使用the_time(get_option('date_format'))。
    • 顯示作者姓名(如果適用)。
    • 顯示帖子類別和帖子標(biāo)簽。
    • 顯示具有編輯權(quán)限的登錄用戶的“編輯”鏈接。
    • 顯示評論列表和評論表。
    • 使用previous_post_link()next_post_link()顯示下一個和上一個帖子的導(dǎo)航鏈接。

    評論(comments.php

    • 作者評論應(yīng)以不同方式突出顯示
    • 如果合適,顯示gravatars(用戶頭像)。
    • 支持線程評論。
    • 顯示引用/ pingbacks。
    • 除非在function_exist()中檢查以避免重新聲明錯誤,否則此文件不應(yīng)包含函數(shù)定義。理想情況下,所有函數(shù)都應(yīng)該在functions.php中

    搜索結(jié)果(search.php

    • 以摘錄或完整形式顯示帖子列表。根據(jù)需要選擇其中一個。
    • 搜索結(jié)果頁面顯示生成結(jié)果的搜索詞。這是一種簡單但有用的方法來提醒某人他們剛搜索的內(nèi)容 - 尤其是在結(jié)果為零的情況下。使用_search_query?()get_search_query()(分別顯示或返回值)。例如:
    <h2> <?php printf(__('搜索結(jié)果:%s'),'<span>'。get_search_query()。'</ span>'); ?> </ H2>
    
    • 在搜索結(jié)果頁面上再次包含搜索表單是一種很好的做法。包含它:get_search_form()

    JavaScript的

    • 應(yīng)盡可能將JavaScript代碼放在外部文件中。
    • 使用wp_enqueue_script()加載腳本。
    • 直接加載到HTML文檔(模板文件)中的JavaScript應(yīng)該進(jìn)行CDATA編碼,以防止舊版瀏覽器出錯。
    <script type =“text / javascript”>
    / * <![CDATA [* /
    //你的Javascript的內(nèi)容就在這里
    / *]]> * /
    </ SCRIPT>
    

    截圖

    為您的主題創(chuàng)建屏幕截圖。屏幕截圖應(yīng)該命名為screenshot.png,并且應(yīng)該放在頂級目錄中。屏幕截圖應(yīng)準(zhǔn)確顯示主題設(shè)計并以PNG格式保存。雖然.jpg,.jpeg和.gif也是屏幕截圖的有效擴(kuò)展名和文件格式,但不建議使用它們。

    推薦的圖像尺寸為1200px寬,900px高。屏幕截圖通常顯示較小,但超大圖像允許在HiDPI顯示屏上進(jìn)行高分辨率查看。請注意,由于“管理主題”屏幕具有響應(yīng)性,因此屏幕截圖圖像的頂部和底部可能無法查看,因此請將圖形保持在中心附近。

    主題選項

    主題可以選擇支持主題自定義屏幕。有關(guān)示例代碼,請參閱示例WordPress主題選項頁面

    為用戶角色啟用主題自定義屏幕的可用性時,請使用“edit_theme_options”用戶功能而不是“switch_themes”功能,除非用戶角色實際上也應(yīng)該能夠切換主題。有關(guān)角色和功能以及添加管理菜單的更多信息,請參閱。

    如果您在主題中的任何位置使用“edit_themes”功能來獲得主題自定義屏幕(或某些自定義屏幕)的管理員角色訪問權(quán)限,請注意,自3.0版本以來,此功能尚未分配給管理員角色在WordPress多站點(diǎn)安裝的情況下默認(rèn)。請參閱說明。在這種情況下,如果您希望管理員看到“主題選項”菜單,請使用“edit_theme_options”功能。使用WordPress多站點(diǎn)時,請參閱管理員角色的其他功能

    主題測試過程

    1. 修復(fù)PHP和WordPress錯誤。將以下調(diào)試設(shè)置添加到wp-config.php文件中,以查看已棄用的函數(shù)調(diào)用和其他與WordPress相關(guān)的錯誤:define('WP_DEBUG',true);?。有關(guān)詳細(xì)信息,請參閱不推薦使用的函數(shù)掛鉤
    2. 根據(jù)模板文件清單檢查模板文件(參見上文)。
    3. 使用主題單元測試進(jìn)行貫穿。
    4. 驗證HTML和CSS。請參閱驗證網(wǎng)站
    5. 檢查JavaScript錯誤。
    6. 在所有目標(biāo)瀏覽器中測試。例如,IE9,Safari,Chrome,Opera,F(xiàn)irefox和Microsoft Edge。
    7. 清除任何無關(guān)的注釋,調(diào)試設(shè)置或TODO項目。
    8. 如果您通過將主題提交到主題目錄公開發(fā)布主題,請參閱主題審閱

    資源和參考

    代碼標(biāo)準(zhǔn)

    主題設(shè)計

    CSS

    模板

    功能列表

    測試和質(zhì)量保證

    發(fā)布和推廣

    外部資源和教程

    分類

    網(wǎng)站

    樣機(jī) - 截圖的設(shè)備模型生成器(筆記本、臺式電腦、手機(jī)、平板)

    2019-10-5 20:23:43

    軟件

    Screaming Frog SEO Spider - SEO蜘蛛工具

    2020-4-25 15:44:51

    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    0 條回復(fù) A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 毛片一区二区三区| 久久精品免费一区二区三区| 精品一区二区三区色花堂| 久久se精品一区精品二区国产| 日韩av无码一区二区三区| 国产婷婷一区二区三区| 中文字幕AV一区二区三区| 精品福利一区二区三| 欧洲精品一区二区三区在线观看 | 国产精品无圣光一区二区 | 色婷婷一区二区三区四区成人网| 亚洲AV成人精品日韩一区18p| 国产色欲AV一区二区三区| 波多野结衣久久一区二区| 日韩人妻一区二区三区蜜桃视频| 中文字幕无码一区二区免费| 亚洲片一区二区三区| 痴汉中文字幕视频一区| 一区二区三区杨幂在线观看| 精品免费国产一区二区| 欧美激情一区二区三区成人| 综合无码一区二区三区四区五区| 精品无码一区二区三区爱欲| 性无码一区二区三区在线观看| 久久精品国产亚洲一区二区| 久久精品无码一区二区无码 | 激情爆乳一区二区三区| 日本中文字幕在线视频一区| 好吊视频一区二区三区| 国产在线精品一区二区三区直播| 亚洲一区二区三区在线观看精品中文| 国产成人一区二区三区在线| 久久精品道一区二区三区| 99无码人妻一区二区三区免费| 亚洲欧洲专线一区| 精品免费AV一区二区三区| 无码人妻一区二区三区精品视频| 国产精品主播一区二区| 久久久精品日本一区二区三区| 国产麻豆精品一区二区三区v视界| 久久久久久人妻一区精品|