2016-12-04 15 views
0

Wordpressフックを起動できません。WPフックが呼び出されていません

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

をしかし、私はに行くとき:

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')); 
}); 

は、その後、私は使用して自分のサーバーのルートにスクリプトから、それを呼び出すようにしてみてください。私は私のテーマで私のfunctions.phpにフックを定義しましたウェブサイトのエラーログフックが実行されているとは思わない。私は間違って何をしていますか?これをどのようにデバッグできますか?

答えて

0

add_action()とdo_action()の順序は重要です。あなたはアクションを登録した後にdo_actionを呼び出していることを確認する必要があります。あなたが必要wp-load.phpファイルをロード..

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'); 
}) 

、その後のように、あなたのテーマののfunctions.phpで別のラッパー関数の内部で、あなたのdo_actionを呼び出すことができ、保存されるように。

また、ロード中にすべてのファイルパスが有効であることを確認してください。

これは機能するはずです。また、エラーログを提供しているかどうかを知ることができます。

関連する問題