2016-12-04 41 views
0

我無法獲得一個Wordpress鉤子來觸發。我定義的鉤子在我的functions.php在我的主題:WP鉤子不被稱爲

add_action('download_rss', function() { 
    error_log("Ran download_rss hook"); 
    file_put_contents('/nas/content/live/site/cron-task-runtime.txt', date('l jS \of F Y h:i:s A')); 
}); 

然後我嘗試從腳本中使用調用它在我的服務器的根目錄:然而

require(dirname(__FILE__) . '/wp-load.php'); 
do_action('download_rss'); 

當我去了網站上的錯誤日誌我沒有看到鉤子已經運行。我在做什麼錯了,我該如何調試呢?

回答

0

add_action()和do_action()的順序很重要。你必須確保你在註冊動作後調用do_action。

要進行保存,可以在主題functions.php,如調用內的另一個包裝函數您do_action ..

add_action('download_rss', function() { 
    error_log("Ran download_rss hook"); 
    file_put_contents('/nas/content/live/site/cron-task-runtime.txt', date('l jS \of F Y h:i:s A')); 
}); 


add_action('wp_loaded', function(){ 
    do_action('download_rss'); 
}) 

,然後加載wp-load.php文件,你需要。加載時還要確保所有文件路徑都有效。

這應該工作,或者,如果您提供了錯誤日誌,我可以告訴更多。