問題描述

當您啟用 wordpress 主題時,找出要更改檔案的檔案總是很麻煩。任何想法如何簡化事情?

但另一方面,考慮到 get_template_part 功能,這可能是不可能的。你說什麼?

最佳解決方案

掛接到 template_include 上,設定一個全域性註釋由主題設定的模板,然後將該值讀回到頁尾或標題中,以檢視為給定檢視呼叫哪個模板。

我在 Get name of the current template file 之前談過這個過濾器鉤子,但是去抓住一個 copy of that code,並將它放在主題的 functions.php 檔案中。

然後開啟主題的 header.phpfooter.php(或任何你喜歡的地方),並使用類似以下內容列印出當前模板。

<div><strong>Current template:</strong> <?php get_current_template( true ); ?></div>

如果您想在生產站點上使用此功能,並將該資訊與 non-administrator 使用者保持一致,請新增一些條件邏輯。

<?php 
// If the current user can manage options(ie. an admin)
if( current_user_can( 'manage_options' ) ) 
    // Print the saved global 
    printf( '<div><strong>Current template:</strong> %s</div>', get_current_template() ); 
?>

現在,您可以跟蹤使用什麼模板的檢視,同時將該資訊與訪問者保持一致。

次佳解決方案

那麼,如果你想要的是檢查哪個模板檔案被用來生成當前的頁面,那麼你不需要用你的手弄髒程式碼;)

有這個方便的外掛叫做 Debug Bar 。在許多情況下,這是一個很好的幫手,包括你的幫助。你一定要檢查一下 – 對於我和許多其他人來說,它是一個 must-have 伴侶,用於任何 WP 開發。

我附上了一個可以讓你愛上的螢幕截圖

要使除錯欄工作,您需要啟用 wp_debugwp_savequeries 選項。預設情況下,這些選項處於停用狀態。

在進行任何更改之前,請注意以下幾點:

  • 不要在生產環境中做,除非網站不能滿足很多流量。
  • 完成除錯後,請確保停用網站的選項 (特別是 wp_savequeries 選項,因為它會影響效能) 。

進行更改:

  1. 透過 ftp 客戶端開啟 wp_config.php 檔案。
  2. 搜尋 wp_debug 選項。編輯到 define( 'WP_DEBUG', true ); 。如果該行不存在,請將其新增到該檔案。
  3. 同樣,編輯或新增行 define( 'SAVEQUERIES', true ); 到檔案。
  4. 儲存。你準備好除錯了

更多資訊:Codex

第三種解決方案

在每個相關模板檔案中的 get_header 行之後新增以下程式碼:

<!-- <?php echo basename( __FILE__ ); ?> -->

在您的瀏覽器> 檢視原始碼,模板名稱將作為您的 HTML 程式碼中的註釋顯示。

<!-- page.php -->

第四種方案

我使用這個方便的功能,只顯示超級管理員的當前模板:

function show_template() {
    if( is_super_admin() ){
        global $template;
        print_r($template);
    } 
}
add_action('wp_footer', 'show_template');

希望有幫助。 🙂

第五種方案

我發現的最簡單的方法是將 WordPress 功能包含在 body 標籤上。它將根據您正在檢視的頁面 (前面的頁面,頁面的頁面等) 新增幾個類。

在這裡檢視:http://codex.wordpress.org/Function_Reference/body_class

此外,它有助於在這些頁面上使用 CSS 定位元素。

瞭解 David R 所提到的模板層次結構 (http://codex.wordpress.org/Template_Hierarchy) 也是一個好主意。

第六種方案

還有另外一個專門用於此目的的 bare-bones 外掛。我傾向於安裝除錯欄,因為這些其他功能看起來很有用,但是這一個更為基礎,特別是為此目的:http://wordpress.org/extend/plugins/what-the-file/

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。