2016-12-31 9 views
1

これはfunction.phpファイルで定義されたwp-cronですが、エラーログに結果は表示されません。 cronリストが、私がそれを起動しても何も起こりません。 私はdefine('WP_DEBUG', true); とエラーログがphp.iniですべてのレベルで有効になっているWordpress:wp-cronが動作しておらず、ログにエラーが表示されない[解決済み]

誰も私が間違っているの場所を知っていますか?

function cron_daily_whatever() { 
    if (!wp_next_scheduled('check_daily_event')) { 
    wp_schedule_event(time(),'daily','check_daily_event'); 
    } 
} 

function my_do_this_daily() { 
    error_log('check'); 
} 

add_action('wp','cron_daily_whatever'); 
add_action('check_daily_event','my_do_this_daily'); 

SOLUTION 私はそれをデバッグするスニペット

file_put_contents(WP_CONTENT_DIR . '/my-debug.txt', "Response: ".$res."\n", FILE_APPEND); 

を使用。そして、それは今働く... ありがとうたくさんの!!

答えて

0

wp-contentのデフォルトのWP_DEBUGログでは、( 'WP_DEBUG_LOG'、TRUE)を定義する必要があります。同じように。その後、すでに実行されている場合は、スケジュールされたイベントをクリアして(再度設定して)、今日テストする必要があります。それについてはhttps://codex.wordpress.org/Function_Reference/wp_clear_scheduled_hookを参照してください。

+0

私は両方ともアクティブであり、エラーはありません。私はcronを登録するための呼び出しが正しいかどうかを知る必要があります... – DaFois

+0

あなたのメソッドは私には大丈夫です。あなたはcronを発射するためにサイトを訪問していますか?コードのどこかでエラーを記録できますか? – user3080408

+0

はいfunction.phpにありましたwp-cronスケジュールテーブルの他のイベントの間にイベントが表示されます...イベントは発生しますが何も起こりませんので、毎日のイベントと私が立ち上げようとしている機能:/私は理由を突き止めることができない... – DaFois

1

あなたは/ページレベル/テーマレベルでcronを設定しているようですか?

プラグインレベルで設定している場合。

add_action('my_hourly_event', 'update_db_hourly'); 

public static function activate() { 
    wp_schedule_event(time(), 'hourly', 'my_hourly_event'); 
} 

public static function deactivate() { 
    wp_clear_scheduled_hook('my_hourly_event'); 
} 

public function update_db_hourly() { 

    // 1. Check for a new file 
    // 2. If it exists, read it, upload it, delete it 
    // 3. Otherwise, do nothing 

} 

参考:https://tommcfarlin.com/wordpress-cron-jobs/

注:error_logには機能していない場合は、原因正しく設定されていないいくつかのWP_DEBUG_DISPLAY = falseのフラグにすることができます。次のスニペットを使用してカスタムログを記録する方がよい。

file_put_contents(WP_CONTENT_DIR . '/my-debug.txt', "Response **".$res."**", FILE_APPEND); 

このファイルはwp-contentフォルダの下に作成されます。

関連する問題