問題描述

當您激活 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。