WP钩子不被称为
问题描述:
我无法获得一个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');
当我去了网站上的错误日志我没有看到钩子已经运行。我在做什么错了,我该如何调试呢?
答
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
文件,你需要。加载时还要确保所有文件路径都有效。
这应该工作,或者,如果您提供了错误日志,我可以告诉更多。