<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                如所討論的,模板文件是模塊化的,可重復使用的文件,用于在WordPress站點上生成網頁。 一些模板文件(如頁眉和頁腳模板)用于所有網站的頁面,而其他模板文件僅在特定條件下使用。 本文解釋WordPress如何確定在單個頁面上使用哪個模板文件。 如果要自定義現有的WordPress主題,它將幫助您確定需要編輯的模板文件。 >[warning] 提示:您還可以使用條件標簽來控制在特定頁面上加載哪些模板。 # 模板文件層次結構 ## 概述 WordPress使用查詢字符串來決定哪個模板或一組模板應用于顯示頁面。查詢字符串是指向您網站每個部分的鏈接中的信息。它來自初始問號,可能包含多個由&符號分隔的參數。 簡單地說,WordPress通過模板層次結構搜索,直到找到匹配的模板文件。要確定使用哪個模板文件,WordPress: - 將每個查詢字符串匹配到查詢類型以確定正在請求哪個頁面(例如,搜索頁面,類別頁面等); - 按照模板層次結構確定的順序選擇模板; - 在當前主題的目錄中查找具有特定名稱的模板文件,并使用層次結構指定的第一個匹配的模板文件。 - 除了基本的index.php模板文件外,您可以選擇是否要實現特定的模板文件。 如果WordPress找不到具有匹配名稱的模板文件,它將跳到層次結構中的下一個文件。如果WordPress找不到任何匹配的模板文件,將使用主題的index.php文件。 ### 示例 如果您的博客位于http://example.com/blog/ ,訪問者點擊鏈接到類別頁面(例如http://example.com/blog/category/your-cat/) ,WordPress會查找模板 在當前主題的目錄中匹配類別的ID以生成正確的頁面。 更具體地說,WordPress遵循以下過程: - 在當前主題的目錄中查找與該類別的插件匹配的模板文件。 如果類別slug是“unicorns”,則WordPress會查找名為category-unicorns.php的模板文件。 - 如果category-unicorns.php缺少且類別的ID為4,則WordPress將查找名為category-4.php的模板文件。 - 如果缺少類別4.php,WordPress將尋找一個通用類別模板文件category.php。 - 如果category.php不存在,WordPress將尋找一個通用歸檔模板archive.php。 - 如果archive.php也丟失,WordPress將回到主題模板文件index.php。 ## 視覺概述 下圖顯示了哪些模板文件被調用以基于WordPress模板層次結構生成WordPress頁面。 ![](https://box.kancloud.cn/967756d30a1097078a83b1965707ff7d_1024x640.png) 您也可以與[此圖交互](https://wphierarchy.com)。 ## 模板層次詳細 雖然模板層次結構更容易被理解為圖表,但以下部分描述了WordPress為多種查詢類型調用模板文件的順序。 ## 主頁顯示 默認情況下,WordPress設置您的網站的主頁以顯示最新的博文。 這個頁面被稱為博客帖子索引。 您也可以將您的博客帖子設置為在單獨的靜態頁面上顯示。 模板文件home.php用于呈現博客帖子索引,無論是用作首頁還是單獨的靜態頁面。 如果home.php不存在,WordPress將使用index.php。 - home.php - index.php >[warning] 注意:如果front-page.php存在,它將覆蓋home.php模板。 ## 首頁 front-page.php模板文件用于呈現您網站的首頁,首頁是否顯示博客帖子索引(如上所述)或靜態頁面。 首頁模板優先于博客帖子索引(home.php)模板。 如果front-page.php文件不存在,WordPress將根據設置→閱讀中的設置使用home.php或page.php文件。 如果這兩個文件都不存在,它將使用index.php文件。 - front-page.php - 用于首頁顯示設置→閱讀部分中的“您的最新帖子”或“靜態頁面”。 - home.php - 如果WordPress找不到front-page.php和“你的最新帖子”設置在首頁顯示部分,它將尋找home.php。 此外,當在首頁顯示部分中設置帖子頁面時,WordPress將查找此文件。 - page.php - 在首頁顯示部分設置“首頁”時。 - index.php - 在首頁顯示部分設置“您的最新帖子”,但home.php不存在或者當首頁設置但page.php不存在時。 正如你所看到的,WordPress所采用的路徑有很多規則。 使用上面的圖表是確定WordPress將顯示的最佳方式。 ## 單頁內容 單頁內容模板文件用于呈現單頁內容。 WordPress使用以下路徑: - single-{post-type} - {slug} .php - (從4.4開始)首先,WordPress尋找特定內容的模板。 例如,如果內容類型是產品,并且post slug是dmc-12,則WordPress會查找單個產品dmc-12.php。 - single- {post-type} .php - 如果帖子類型是產品,WordPress將尋找單一product.php。 - single.php - WordPress然后回到single.php。 - singular.php - 然后它回到singular.php。 - index.php - 最后,如上所述,WordPress最終會回到index.php。 ## 單頁 用于呈現靜態頁面的模板文件(頁面后置類型)。 請注意,與其他后期類型不同,頁面特別適用于WordPress,并使用以下修補程序: 自定義模板文件 - 分配給頁面的頁面模板。 請參閱get_page_templates()。 - page- {slug} .php - 如果該頁面是最新消息,WordPress將會使用page-recent-news.php。 - page- {id} .php - 如果頁面ID為6,WordPress將使用page-6.php。 - page.php - singular.php - index.php ## 類別 渲染類別歸檔索引頁在WordPress中使用以下路徑: - category- {slug} .php - 如果類別的lug lug是新聞,WordPress將會查找category-news.php。 - category- {id} .php - 如果類別的ID為6,WordPress將尋找類別為6.php。 - category.php - archive.php - index.php ## 標簽 要顯示標簽歸檔索引頁面,WordPress使用以下路徑: - tag- {slug} .php - 如果標簽的插件是某個標簽,WordPress將會查找tag-sometag.php。 - tag- {id} .php - 如果標簽的ID為6,WordPress將尋找標簽6.php。 - tag.php - archive.php - index.php ## 自定義分類 自定義分類使用稍微不同的模板文件路徑: - taxonomy-{taxonomy}-{term}.php – 如果分類是某種類型,而分類學術語是某種語言,則WordPress將尋找分類法。 在發布格式的情況下,分類是“post_format”,術語是“post-format- {format}”。 即鏈接后期格式的taxonomy-post_format-post-format-link.php。 - taxonomy-{taxonomy}.php – 如果分類是多數,WordPress會尋找分類法 - sometax.php。 - taxonomy.php - archive.php - index.php ## 自定義內容類型 自定義帖子類型使用以下路徑呈現相應的歸檔索引頁面。 - archive- {post_type} .php - 如果帖子類型是產品,WordPress將尋找archive-product.php。 - archive.php - index.php > (要渲染單個帖子類型模板,請參閱上面的單個帖子顯示部分。) ## 作者顯示 基于上述示例,渲染作者存檔索引頁面是相當明確的: - author- {nicename} .php - 如果作者的漂亮的名字是啞光,WordPress將尋找author-matt.php。 - author- {id} .php - 如果作者的ID為6,WordPress將尋找author-6.php。 - author.php - archive.php - index.php ## 日期 基于日期的歸檔索引頁面按照您預期的方式呈現: - date.php - archive.php - index.php ## 搜索結果 搜索結果遵循與其他模板類型相同的模式: - search.php - index.php ## 404(找不到) 同樣,404模板文件按以下順序調用: - 404.php - index.php ## 附件 渲染附件頁面(附件類型)需要遵循以下路徑: - MIME_type.php - 它可以是任何MIME類型(例如:image.php,video.php,application.php)。 對于text / plain,使用以下路徑(順序): - text_plain.php - plain.php - text.php - attachment.php - single-attachment.php - single.php - index.php ## 嵌入模板 嵌入模板文件用于渲染正在嵌入的帖子。 自4.5以來,WordPress使用以下路徑: - embed- {post-type} - {post_format} .php - 首先,WordPress尋找特定帖子的模板。 例如,如果其帖子類型是產品,并且具有音頻格式,則WordPress將尋找embed-product-audio.php。 - embed- {post-type} .php - 如果帖子類型是汽車,WordPress會尋找embed-car.php。 - embed.php - WordPress然后回到embed.php。 - 最后,WordPress最終還是回到wp-includes/theme-compat/embed.php ## 過濾層次結構 WordPress模板系統允許您過濾層次結構。 這意味著您可以在層次結構的特定點插入和更改東西。 過濾器(位于get_query_template()函數中)使用此過濾器名稱:“{$ type} _template”其中$ type是沒有.php擴展名的層次結構中的文件名。 以下是過濾器層次結構中所有模板類型的完整列表: - index_template - 404_template - archive_template - author_template - category_template - tag_template - taxonomy_template - date_template - home_template - front_page_template - page_template - paged_template - search_template - single_template - text_template, plain_template, text_plain_template (all mime types) - attachment_template - comments_popup - embed_template ### 示例 例如,讓我們采用默認的作者層次結構: - author-{nicename}.php - author-{id}.php - author.php 要在author.php之前添加author- {role} .php,我們可以使用'author_template'模板類型來操作實際的層次結構。 這允許對/ author/username的請求,其中username具有編輯器的作用,使用author-editor.php(如果存在于當前主題目錄中)顯示。 ``` function author_role_template( $templates = '' ) { $author = get_queried_object(); $role = $author->roles[0]; if ( ! is_array( $templates ) && ! empty( $templates ) ) { $templates = locate_template( array( "author-$role.php", $templates ), false ); } elseif ( empty( $templates ) ) { $templates = locate_template( "author-$role.php", false ); } else { $new_template = locate_template( array( "author-$role.php" ) ); if ( ! empty( $new_template ) ) { array_unshift( $templates, $new_template ); } } return $templates; } add_filter( 'author_template', 'author_role_template' ); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看