我已阅读有关此主题的一些帖子。但不是那么清楚。那就是我再问的原因。
我正在尝试在插件disqus-comment-system中调试cron作业。
$ts = time() + 300;
wp_schedule_single_event($ts, 'dsq_sync_forum');
add_action('dsq_sync_forum', 'dsq_sync_forum');
function dsq_sync_forum($last_comment_id=false, $force=false) {
.........some code
}
我正在使用vim和vdebug。我尝试了很多次,但它没有调试函数dsq_sync_forum。
我用谷歌搜索了这个,但不理解解决方案。
答案 0 :(得分:0)
问题可能出在WP Cron本身。 WP Cron的操作在定义时并不会完全触发,但只有当有人触发它们时(使用页面视图)。
您可以使用我的Advanced Cron Manager插件查看正在进行的操作。
答案 1 :(得分:0)
浏览网站时,无法调试cron任务,因为它们是由wp_remote_post()
函数触发的。
该函数会将http
请求发送到wp-cron.php
文件,该文件将执行您的cron作业。
如果要轻松调试(xdebug或var_dump / die),可以将disable_wp_cron
常量设置为true(1)。这样可以防止WordPress在浏览网站时调用wp-cron.php
文件。
然后,您可以手动浏览URL mywebsite.com/wp-cron.php
进行调试,并显示所需的任何变量。