Php 从下周一开始在wordpress中安排活动
我已经做了一个插件,每周发送时事通讯。目标是该插件将在每周一发送电子邮件 我在这里没有什么困惑: 1-请查看以下代码Php 从下周一开始在wordpress中安排活动,php,wordpress,Php,Wordpress,我已经做了一个插件,每周发送时事通讯。目标是该插件将在每周一发送电子邮件 我在这里没有什么困惑: 1-请查看以下代码 function my_cron_definer($schedules){ $schedules['weekly'] = array('interval'=> 604800, 'display'=> __('Once Every week') ); return $schedules; } add_fil
function my_cron_definer($schedules){
$schedules['weekly'] = array('interval'=> 604800,
'display'=> __('Once Every week')
);
return $schedules;
}
add_filter('cron_schedules','my_cron_definer');
wp_schedule_event($timestamp, 'weekly', 'informantweeklynewsletter');
add_action('informantweeklynewsletter','informant_main_action');
因此,我将我的自定义重复设置为“每周”。但是,我不确定应该为$timestamp
变量提供什么,以便它从周一开始工作,而不管插件何时被激活。在我的插件中,我没有定义任何用于激活和停用的函数,因为我认为我不需要它们
我的第二个问题是:
wordpress cron不同于普通的cronjobs,因为它需要访问网站。看看上面的代码,我需要知道我的插件有哪些可能无法工作。我能提出什么解决方案?每周一使用我的告密者\u主要\u行动
方法
谢谢假设所有其他设置都正确,您可以使用
strtotime('nextmonday');
作为你的时间戳。您确实需要将其放入激活挂钩中,以便它只运行一次,您可以检查挂钩是否存在
if( ! wp_next_scheduled( ''informantweeklynewsletter' ) )
wp_schedule_event($timestamp, 'weekly', 'informantweeklynewsletter');
否则,您将在每次有人访问您的页面时设置一个新的cron作业
您可以使用一个真正的cron作业来补充这一点,以便每周访问您的页面。如果您有cpanel,您可以使用类似的东西(注意,您的路径必须在此基础上更新)。*和数字是您希望它运行的时间,因此它的分钟、小时、天、月、工作日
* 2 * * 7 wget -O - http://yoursite.com/tasks.php >/dev/null 2>&
strottime('nextmonday')没有显示任何内容我尝试了echo strottime('nextmonday');对于这个问题,我接受了这个答案,但你能看看我的另一个问题吗?我已经恰当地描述了那里的每一件事,但仍然不起作用。[链接]