問題描述
當您啟用 wordpress 主題時,找出要更改檔案的檔案總是很麻煩。任何想法如何簡化事情?
但另一方面,考慮到 get_template_part 功能,這可能是不可能的。你說什麼?
最佳解決方案
掛接到 template_include 上,設定一個全域性註釋由主題設定的模板,然後將該值讀回到頁尾或標題中,以檢視為給定檢視呼叫哪個模板。
我在 Get name of the current template file 之前談過這個過濾器鉤子,但是去抓住一個 copy of that code,並將它放在主題的 functions.php 檔案中。
然後開啟主題的 header.php 或 footer.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_debug 和 wp_savequeries 選項。預設情況下,這些選項處於停用狀態。
在進行任何更改之前,請注意以下幾點:
- 不要在生產環境中做,除非網站不能滿足很多流量。
- 完成除錯後,請確保停用網站的選項 (特別是 wp_savequeries 選項,因為它會影響效能) 。
進行更改:
- 透過 ftp 客戶端開啟
wp_config.php檔案。 - 搜尋
wp_debug選項。編輯到define( 'WP_DEBUG', true );。如果該行不存在,請將其新增到該檔案。 - 同樣,編輯或新增行
define( 'SAVEQUERIES', true );到檔案。 - 儲存。你準備好除錯了
更多資訊: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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。
