2017-08-08 20 views
-1

私はWordPressの最新バージョンを使用しており、CRONタスクを作成する必要があります。私は下のリンクを介して行っています https://isabelcastillo.com/run-a-wp_schedule_event-recurrence-every-3-minutes#comment-46959WordPress PHP multiple 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'); 

私が欲しいもの:

私は新しい作成したいですステータスが "future"のcustom_postを追加するSQLクエリ。 私のSQLクエリは完全に機能します。

第1の問題:私のCRONはランダムに実行されます。私は毎日午前9時前にこれを実行したいと思います。

第二の問題:post_idのがユニークであることを持っていますが、第二CRONが実行されませんので、この実行前に、私はこのクエリを削除する必要が...

任意のアイデア?

ありがとうございます!

+0

Plsは1つの質問で複数の質問をしません。彼らは答えや検索をもっと難しくしています! 1つの質問を選択してください。 – Shadow

+0

問題が1つしか編集されていません – Monagraphic

答えて

0

thisプラグインをご覧ください。任意の名前でcronを追加し、その関数にクエリを記述します。 あなたを助けてくれることを願っています。 ありがとう

+0

このプラグインは良いと思われます。私は、テーブル(バックオフィス)で自分のcronsイベント(私のfunctions.phpで作成)を見ることができます。しかし、私は私のcronsを実行すると、結果は同じです。 "Add PHP Cron Event"をクリックすると、ユーザーアカウントにファイルを編集する機能がないため、PHP cronイベントを追加または編集できません。 – Monagraphic