2010-01-12 31 views
1

我正在編寫一個Wordpress插件,每當'the_author'過濾器事件觸發時都會進行字符串處理。但是,一些小部件還包含'the_author'事件,隨後我的插件被觸發,不應該發生。所以我試圖檢測我的插件是否被某些小部件調用,但目前爲止無濟於事。我想忽略的一個小部件叫做'Recent Comments'。我曾嘗試:如何確定Wordpress插件是否從Wordpress小部件中調用

function wrap_author($the_author) { 
    if(!is_active_widget('recent_comments')) { 
     $the_author = '<span class="CA_author">' . $the_author . '</span>'; 
     return $the_author; 
    } 
} 

這可能是因爲我不使用該插件的正確名稱,我用Google搜索了很多以找到最近的評論插件的適當的內部名稱,但不能找到它至今。或者,也許我不應該使用is_active_widget函數。

回答

1

如果您只想讓您的主要內容區域觸發,請使用in_the_loop()函數檢查並查看您是否處於內容循環中。這可能會得到你的存在方式99%,但你幾乎肯定會發現,會造成某些挫折邊緣情況;)

if (in_the_loop()) { 
// do stuff 
} 

這將讓你的代碼在側邊欄的所有執行。

+0

這實際上是一個相當不錯的解決方案,我認爲這將完成這項工作,謝謝! – DrDee 2010-01-13 23:39:09

相關問題