2017-08-08 43 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