2010-06-11 69 views
1

如何檢查歸檔頁面中特定頁面示例中是否調用了the_excerpt()函數。檢查是否在特定頁面中調用了the_excerpt()函數

事情是我想知道是否使用the_excerpt()函數來顯示內容或是否使用the_content()來顯示歸檔/分類頁面中的內容。

如何檢查。有沒有條件標籤

+0

爲什麼不直接查看源文件?我不確定我明白。 – 2010-06-11 12:14:17

+0

或者是否有任何PHP函數來獲取調用函數的名稱? – 2010-06-11 12:31:00

回答

1

沒有條件標籤,但有一個過濾器。如果掛鉤到'get_the_excerpt'過濾器,您的功能將運行。所以,作爲一個例子:

if(is_archive() || is_category()){ 
    add_filter('get_the_excerpt', 'my_custom_excerpt_filter'); 
} 

function my_custom_excerpt_filter($excerpt){ 
    if(!defined('USED_EXCERPT')){ 
    define('USED_EXCERPT', true); 
    } 
} 

然後,檢查是否使用的節選,該循環的第一次迭代後的任何時間,使用:

if(defined('USED_EXCERPT') && USED_EXCERPT){ 
    //If the excerpt was used, this if statement returns true. 
} 

這不是一個很優雅或有用的方式,但這是你如何做到這一點。如果您需要知道某個模板是否在加載模板之前使用了摘錄,則必須先與此模板掛鉤,請使用fopen()來讀取模板文件並搜索the_excerpt()

+0

非常感謝你!看起來你的代碼會起作用。我也嘗試過這種方法,但不是定義我添加了文本並搜索了該文本。但是我的xampp在這樣做後就被絞死了。我一定會嘗試這個。由於我在插件開發中,fopen方法非常昂貴! – 2010-06-12 05:38:07

相關問題