2012-06-08 96 views
1

我想即使在儲蓄觸發/更新WordPress中後...在這裏看到:WordPress的ADD_ACTION(「save_post」,「創建my_function)不工作

add_action('save_post', 'generate_location'); 

function generate_location($post_id) { 
    echo "hey"; 
} 

的問題是,它不工作... 任何想法爲什麼?句法?

+0

這應該真的發佈在[WordPress的答案](http://wordpress.stackexchange.com/),而不是堆棧溢出。 –

回答

3

WordPress實現Post/Redirect/Get pattern以避免重複的表單提交,所以你不會看到任何echo d從save_post回調。

相反,您可以改爲執行wp_die('hey'),或將某些內容記錄到數據庫或文件系統。

1

我不知道你是否有這個工作,但我有同樣的問題,並發現如何解決它!

WP-包括上線2940(在寫作的時候)/ post.php中,這的if/else運行,同時節省了後期:

if (!empty($page_template) && 'page' == $data['post_type']) { 

你會發現,如果有一個函數在模板中出錯並且save_post從不被調用。

就我而言,我試圖保存的帖子是從一個預先存在的網站導入的。新網站根本沒有頁面模板,所以WP仍然試圖用之前的模板保存頁面,失敗,因此; save_post從未被調用過。

我加

/* Template Name: Default Template */ 

到page.php文件,批量編輯,選擇模板並保存。從page.php中刪除模板名稱(因爲它顯示了兩次(現在每次都觸發save_post)

無論如何,這是我的情況的解決方案,我確定它會影響其他人,

相關問題