http://codex.wordpress.org/Plugin_API/Action_Reference/save_post爲什麼在save_post操作引用中沒有包含參數?
爲什麼Wordpress沒有包括$post
和$post_ID
參數及其功能。我意識到這些參數只存在於我檢查源代碼時,這些參數實際上做了什麼? 您不認爲他們需要在動作掛鉤參考中包含每個參數,以便我們可以將動作分配到鉤子上
http://codex.wordpress.org/Plugin_API/Action_Reference/save_post爲什麼在save_post操作引用中沒有包含參數?
爲什麼Wordpress沒有包括$post
和$post_ID
參數及其功能。我意識到這些參數只存在於我檢查源代碼時,這些參數實際上做了什麼? 您不認爲他們需要在動作掛鉤參考中包含每個參數,以便我們可以將動作分配到鉤子上
$post
包含正在保存的發佈對象。 $post_ID
保存正在保存的帖子的ID。
當您撥打add_action
時,您可以在回撥功能中獲得這些參數。
例如
add_action('save_post', 'my_save_function', 10, 2);
的10表示的優先級 - 10是默認情況下,數字越低,優先級(即,較早運行)越高。
最後一個參數中的'2'是傳遞給回調函數的參數數量。默認值爲1,但如您所述,可以在此處有2個參數,因此如果兩者都需要,您可以調高該值以獲得兩者的值。
function my_save_function($post, $post_ID) {
// Do stuff here.
}
有許多與未隱含已知的參數變量號行動/過濾器,這樣做是爲了使產生的代碼是靈活的。
回答爲什麼它沒有包含在保存回調中 - 在這種情況下不需要。 $post
對象提供了訪問該ID的簡單方法。你可能想把它包含在你自己的鉤子裏 - 也許如果你因爲某種原因改變了對象,但是真的有無限的可能性。
它總是最好做你做了什麼,並檢查是否有這樣的事情的核心,瞭解什麼核心是提出來,使得與WordPress開發容易得多:)
class myObj {
function on_save_post($post_ID, $post)
{
// process here
}
}
add_action('save_post', array('myObj', 'on_save_post'));
如果這個類MyObj中是你將有所有你需要的參數,所以你可以通過所有你想要的變量save_post
所以有反正我可以檢查鉤的參數沒有檢查源代碼 – dramasea
你要去必須找到某個地方,你不能否則知道!也許Codex,別人的代碼,只是自己嘗試,但檢查覈心可能會給你最完整的感受。 – Mark