WordPress调度未触发

时间:2016-03-18 18:20:50

标签: php wordpress cron task scheduling

我想在一段时间后使用WordPress调度回显一个字符串。下面是我在functions.php中的代码。什么都没有通过echo语句打印,也没有错误。请指导我做错了什么。

function add_new_intervals($schedules) {
    // add weekly and monthly intervals
    $schedules['now'] = array(
        'interval' => 1,
        'display' => __('Once Weekly')
    );

    return $schedules;
}

add_filter( 'cron_schedules', 'add_new_intervals');

function my_activation() {
    if ( !wp_next_scheduled( 'my_hourly_event' ) ) {
        wp_schedule_event( current_time( 'timestamp' ),'now', 'my_hourly_event');
    }
}

add_action('wp', 'my_activation');
add_action('my_hourly_event', 'do_this_hourly');

function do_this_hourly() {
    echo "This is the Text";
}

1 个答案:

答案 0 :(得分:0)

你做错了一件事是希望能够在运行cron作业时看到回音。更好的测试是让它在数据库中进行更改,例如:

/15 * * * wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron

WP Cron作业(与大多数cron作业一样)旨在运行需要按计划发生的功能。它们无意创建用户输出"。

WP Cron Jobs的一些提示:
您的代码将尝试每小时运行一次该函数,但WP的设置方式可能(或可能不)运行,具体取决于网站是否被访问。

这个弱点有很多解决方案,最简单/最有效的方法是在您的服务器上设置一个触发WP cron的crontab作业。像这样:

{{1}}

如需更多帮助(这可能很棘手),请查看这些文章:
Properly Setting Up WP Cron Jobs
Mastering WP Cron