我在多站点的wordpress插件中遇到了一个调度任务,这让我陷入了死胡同。不知怎的,我添加的动作没有被触发。当我运行wp\\u next\\u scheduled()时,任务正在被调度并返回时间戳,但操作本身不会启动并触发函数。
可能提供一些线索的信息:
它在WPMU站点上运行,cronjob是插件的一部分,我正在使用OOP方法,导入的内容是自定义的帖子类型代码示例:
class Cronjobs
{
function Cronjobs()
{
add_action(\'init\', array(&$this, \'add_cronjobs\'));
}
function add_cronjobs()
{
add_action(\'update_properties_daily\', array(&$this, \'do_updates\'));
if(!wp_next_scheduled(\'update_properties_daily\') )
{
wp_schedule_event( time(), \'daily\', \'update_properties_daily\');
}
}
function do_updates()
{
/* Do updates */
}
}
真的需要一些巫师的帮助,谢谢!
更新解决方案:Create a global function and call that from the custom action.
显然,在引用对象时创建自定义操作存在一些问题。自从custom actions is stored in the DB (据我所知),the objected won\'t be instansiated 因此can\'t use it\'s methods. 因此:回到基础并使用全局函数。