Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Wordpress 在服务器端触发Wordress cron作业功能_Wordpress_Cron - Fatal编程技术网

Wordpress 在服务器端触发Wordress cron作业功能

Wordpress 在服务器端触发Wordress cron作业功能,wordpress,cron,Wordpress,Cron,假设我在服务器上有一个WordPress cron作业调度程序功能(仅在页面加载时运行),如下所示: add_action('init','create_single_schedule'); add_action('single_cron_job','single_cron_function'); function single_cron_function(){ Do cron here } function create_single_schedule(){ //check i

假设我在服务器上有一个WordPress cron作业调度程序功能(仅在页面加载时运行),如下所示:

add_action('init','create_single_schedule');
add_action('single_cron_job','single_cron_function');
function single_cron_function(){
Do cron here
}
function create_single_schedule(){
        //check if event scheduled before
        if(!wp_next_scheduled('single_cron_job'))
         //schedule event to run after 60 seconds (or one minute)
         wp_schedule_single_event (time()+60, 'single_cron_job');
}

现在的问题是,如果没有人打开我的网站,我如何调用create_single_schedule()来调度/触发cron作业?

您必须在服务器上设置一个真正的cron作业,以便在所需的时间间隔调用
wp cron.php

首先,在
wp config.php
上禁用WordPress cron:

define('DISABLE_WP_CRON', true);
如果您有cPanel,请将cron作业设置为每5分钟或每小时运行一次,并执行以下命令:

wget http://www.example.com/wp-cron.php
更多信息:


wp\u cron设计为仅在任何用户访问时运行。您必须在cpanel中手动设置服务器cron,为此,您需要看看这个@VigneshPichamani,它是一个插件功能,安装的主机应该这样做。除了您的解决方案之外,还有其他解决方案。因为在这种情况下,我必须手动设置安装每个插件的主机。显然,您必须在插件文档中指定如何设置服务器cron,因此,任何想要设置服务器cron的用户都可以这样做。我认为这是唯一的方法,你可以实现没有任何用户。