【问题标题】:WordPress PHP multiple CRONWordPress PHP 多个 CRON
【发布时间】:2017-08-08 18:03:07
【问题描述】:

我正在使用最新版本的 WordPress,我需要创建 CRON 任务。我已经通过以下链接: https://isabelcastillo.com/run-a-wp_schedule_event-recurrence-every-3-minutes#comment-46959

还有这篇文章: https://wordpress.stackexchange.com/questions/205421/multiple-wp-schedule-event-cron-jobs-in-plugin-cause-multi-execution

这是我的代码:

function crons_activation( $schedules ) {
    $schedules['activation_time'] = array(
            'interval'  => 43200,
            'display'   => __( 'Every 12 hours', 'textdomain' )
    );
    $schedules['desactivation_time'] = array(
            'interval'  => 43140,
            'display'   => __( 'Every 12 hours', 'textdomain' )
    );     
    return $schedules;
}
add_filter( 'cron_schedules', 'crons_activation' );
if ( ! wp_next_scheduled( 'activation_hook' ) ) {
    wp_schedule_event( time(), 'activation_time', 'activation_hook' );
}
if ( ! wp_next_scheduled( 'desactivation_hook' ) ) {
    wp_schedule_event( time(), 'desactivation_time', 'desactivation_hook' );
}

function cron_activation() {
    $to = 'mymail@domain.com';
    $subject = 'SQL OK';
    $message = 'Query created';
    wp_mail( $to, $subject, $message );

    $date = date('Y-m-d');
    $date = $date." 09:00:00";

    global $wpdb;
    $wpdb->query('INSERT INTO TABLE ...');
}
function cron_desactivation() {
    wp_clear_scheduled_hook( 'activation_hook' );
    $to = 'mymail@domain.com';
    $subject = 'SQL KO';
    $message = 'Query deleted';
    wp_mail( $to, $subject, $message );

    $date = date('Y-m-d');
    $date = $date." 09:00:00";

    global $wpdb;
    $wpdb->query('DELETE FROM `table` WHERE `ID` = 1');
}
add_action('activation_hook', 'cron_activation');
add_action('desactivation_hook', 'cron_activation');

我想要什么:

我想创建新的 SQL 查询以添加状态为“未来”的 custom_post。 我的 SQL 查询完美运行。

第一个问题:我的 CRON 是随机执行的。我想在每天上午 9:00 之前执行此操作。

第二个问题:在此执行之前,我必须删除此查询,因为 post_id 必须是唯一的,但第二个 CRON 永远不会执行...

有什么想法吗?

非常感谢!

【问题讨论】:

  • 请不要在一个问题中提出多个问题。他们使回答和搜索变得更加困难!选择一个问题,然后去做。
  • 只针对一个问题编辑

标签: php wordpress cron


【解决方案1】:

查看this 插件。使用任何名称添加您的 cron 并在该函数中编写您的查询。 希望对您有所帮助。 谢谢

【讨论】:

  • 这个插件好像不错。我可以在表(后台)中看到我的 crons 事件(在我的 functions.php 中创建)。但是当我运行我的 crons 时,结果是一样的。当我点击“添加 PHP Cron 事件”时 -> 您无法添加或编辑 PHP cron 事件,因为您的用户帐户没有编辑文件的能力。
猜你喜欢
  • 2012-11-24
  • 2012-08-02
  • 2011-11-07
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2011-04-17
  • 2012-01-16
相关资源
最近更新 更多