Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从下周一开始在wordpress中安排活动_Php_Wordpress - Fatal编程技术网

Php 从下周一开始在wordpress中安排活动

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

我已经做了一个插件,每周发送时事通讯。目标是该插件将在每周一发送电子邮件

我在这里没有什么困惑:

1-请查看以下代码

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');对于这个问题,我接受了这个答案,但你能看看我的另一个问题吗?我已经恰当地描述了那里的每一件事,但仍然不起作用。[链接]