我在實際的教程中詢問了這個問題,但不確定我會在接近2個月的時間內很快得到答案...所以我會在這裏採取一個更好的...WordPress的:apply_filters&add_action到the_content = EVIL?
教程在這裏:Build a WordPress Plugin to Add Author Biographies to your Posts
綜上所述教程什麼問題是,該教程增加了一個作者簡介上像這樣內容的一端(短版):
function x($content) {
return $content . "Author Bio";
}
add_action('the_content','x');
問題:
當有人使用:
$z = apply_filters('the_content', 'some content here');
echo $z;
的作者簡介最終將應用到$ z和如果$ Z在一些頁面的中間呼應了......在作者簡介將在一些頁面的中間...正確? (這是正確的,因爲我已經測試過...)
有沒有更好的方法來將某些東西應用於end/under/below the_content掛鉤?除了add_action(‘the_content’, ‘some_function’)
,因爲這對我來說似乎是邪惡的...
或者是apply_filters(‘the_content’, ‘some content here’)
不是規範或開發人員不應該在他們的WordPress模板中使用的內容......? (這似乎非常規範,至少在谷歌格式化循環之外的「the_content」)...
感謝John的回覆和添加的提示... 我可以假設在爲Wordpress開發主題/插件時,「apply_filters('the_content','這裏的一些內容')」不是常用的做法嗎? 似乎任何人這樣做會打開一罐蠕蟲的任何其他插件/主題元素,將添加一個動作/過濾器「the_content」... 如果apply_filters有一個選項只應用默認過濾器的任何鉤... – luckykind 2010-07-02 15:00:32
是的,這不是一個常見的做法,你說的原因。你並不總是知道'the_content'最終會調用什麼。簡單的Facebook連接就是一個很好的例子。它有時會爲內容添加一個「Like」按鈕。如果您希望能夠在不觸發動作的情況下將the_content的過濾器應用於文本,您可以通過wp-includes/default-filters.php查看它所經過的函數,然後調用函數而不是使用過濾器。 – 2010-07-02 16:06:28
再次感謝約翰在這方面的幫助...... – luckykind 2010-07-08 17:08:54