2017-08-08 44 views
-1

我使用WordPress的最新版本,我需要创建CRON任务。 https://isabelcastillo.com/run-a-wp_schedule_event-recurrence-every-3-minutes#comment-46959WordPress PHP多重CRON

和这个职位:我已经通过下面的链接去 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 = '[email protected]'; 
    $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 = '[email protected]'; 
    $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查询添加状态为“future”的custom_post。我的SQL查询完美地工作。

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

问题二:这个执行前,我因为POST_ID必须是唯一的,但第二CRON从未执行删除此查询...

任何想法?

非常感谢!

+0

请不要在一个问题中提出多个问题。他们让回答和搜索变得更加困难!选择一个问题并去做。 – Shadow

+0

仅针对一个问题编辑 – Monagraphic

回答

0

看看this插件。添加任何名称的cron并在该函数中编写查询。 希望可以帮到你。 谢谢

+0

这个插件看起来不错。我可以在表格(后台)中看到我的crons Events(在我的functions.php中创建)。但是当我运行我的cron时,结果是一样的。当我点击“添加PHP Cron事件” - >您无法添加或编辑PHP cron事件,因为您的用户帐户无法编辑文件。 – Monagraphic