タグ付けされた質問 「wp-cron」

wp-cronは、コードのスケジュールされた実行を可能にするWordPressサブシステムを指します

1
wp_cronをテストするには?
これは一種の愚かな質問です... 1時間ごとに実行するアクションをスケジュールしました。 if(!wp_next_scheduled('my_hourly_events')) wp_schedule_event(time(), 'hourly', 'my_hourly_events'); add_action('my_hourly_events', 'the_function_to_run'); function the_function_to_run(){ echo 'it works!'; } これが1時間待たずに機能するかどうかをテストするにはどうすればよいですか?:) wp_clear_scheduled_hook('my_hourly_events');このコードの前に追加してから追加しようとしましwp_cron()たが、実行中の関数が表示されません... 編集: OK、trigger_error()関数内にapacheエラーログをチェックアウトし、そこにあります:) だから今、私はさらに混乱しています: wp-cronはどのようにバックグラウンドで実行できますか?どうやら出力が表示されない場合にそれが起こるからです... これはオブジェクトコンテキストでは機能しないようです。どうして?
28 events  actions  cron  wp-cron 


5
マルチサイトでWP Cronを正しい方法で実行する
WordPress Multisiteにはいくつかのサイトがあります。私はセットアップDISABLE_WP_CRONにtrue私の中でwp-config.php。 wgetまたはcurlを使用してcronタスクをセットアップした場合、PHPスクリプトを実行するための30秒のルールがあります。大量の電子メール通知を送信したり、他のことをしたりするのは非常に小さいです(リモートSMTPサーバー接続が遅いかもしれません。bbPressなどからの大量の電子メール通知かもしれません)。 このようなものを使用できますか? php -q wp-cron.php ただし、マルチサイトの1つのサイトに対してのみcronを実行します(各サイトには、異なるMySQLテーブルに独自のcronタスクがあります)。 PS wpmudev.orgフォーラムで、 Curlを使用する奇妙な「ソリューション」を見つけました。 別のPS WP CLIには素晴らしいwp cronコマンドがありますが、cronタスクを手動で実行することしかできません(そう、--urlattr を使用できます)。例えば: wp cron event list --url=multisite.com wp cron event list --url=subdomain.multisite.com

5
時間が経過してもWP Cronが実行されない
目標 wp_schedule_single_event( )ユーザーがフォームを送信してから8分後に電子メールを送信する単一のイベントを実行するために使用します。 問題 次のコードはmyにありfunctions.phpます: function nkapi_send_to_system( $args ) { wp_mail( 'xxx', 'xxx', $args ); } add_action( 'nkapi_send', 'nkapi_send_to_system' ); function schedule_event( $id ) { wp_schedule_single_event( current_time( 'timestamp' ) + 480, 'nkapi_send', array( $id ) ); } そして、次のコードは、呼び出すために使用されていますschedule-event。 schedule_event( $_SESSION['insert_id'] ); // the $_SESSION var contains an INT 8分以上待った後、受信トレイに電子メールがありませんでした。 私が試したもの …
16 hooks  array  wp-cron  cron  events 

6
date_l18n()を使用してタイムスタンプを現地時間に変換する
定期的にメールを送信し、オプションとして送信されたタイムスタンプを保存するWordPress cronジョブがあります。設定ページに日付を表​​示したいと思います。「最後のメールは「x」で送信されました」などです。私は米国の西海岸にいるので、現在の時間はUTCから7時間ずれています。 date_i18n()からの期待される出力は、タイムスタンプを渡して、UTCから7時間調整されたローカルにフォーマットされた日付になります。ただし、時刻はUTCで返されます。現在の時刻を取得しようとしても、予想される出力は返されません。 たとえばecho date_i18n('F d, Y H:i');、2013年4月5日11:36をecho date_i18n('F d, Y H:i',time());出力しますが、2013年4月5日18:36を出力します。 これは意図的なものですか?既存のタイムスタンプからローカルにフォーマットされた日付を返すにはどうすればよいですか?助けてくれてありがとう。
15 php  date-time  wp-cron 

7
5分ごとに機能を実行する方法は?
5分ごとに実行する機能があります。私はコーデックスから以下を参照しました: <?php wp_schedule_event(time(), 'hourly', 'my_schedule_hook', $args); ?> いつ開始するかに関係なく、5分ごとにこの関数を実行したいと思います。どうすればこれができますか? また、訪問者がサイトにアクセスするとcronが実行されるとコーデックスは述べています。訪問を待つことなく、分単位でcronを実行する方法はありますか? 次の関数を5分ごとに実行する必要があるとしましょう。次に、wp_schedule_event()またはを使用してどのように実行できwp_cronますか? function run_evry_five_minutes(){ // codes go here }


4
WP_CRONを無効にし、代わりに数分ごとにサーバーからwp-cron.phpをトリガーする必要がありますか?
WordPressがページをロードするたびにWP CRONを不必要に起動するようです。毎回実行するのではなく、サーバー経由で5分ごとに実行するようにスケジュールするだけではどうでしょうか。5分ごとにwp-cron.phpをトリガーするだけで、望ましい結果を得ることができますか? これには欠点がありますか?
12 wp-cron 

1
新規インストール時のPHP警告(接続がタイムアウトしました)
新しいWordPress 3.4.1インストール(ノルウェー語)にアクセスすると、このPHP警告が表示されます。 警告:fopen(URL_TO_MY_WORDPRESS_PAGE / wp-cron.php?doing_wp_cron = 1341476616.7605190277099609375000):ストリームを開けませんでした:PATH_TO_MY_WP_FILES / wp-includes / class-http.phpの923行目で接続がタイムアウトしました これはもちろん、開発サーバーで実行されているWP_DEBUGためtrue、フラグがに設定されています。 これは断続的に発生するため、に問題があるようwp-cronです。 これはおそらくWordPressのエラーか、私のサーバーの何か問題ですか?心配する必要がありますか? サーバーは、LAMPスタックを備えた新しいUbuntu Server 12.04 VMです。 グーグル検索は私がこれを経験している唯一のものではないことを示しています。(実際のエラーを確認するには、リストされているページのバッファバージョンまたはインデックスバージョンを参照してください。) 編集:私はまた、フロントページでこれと同じPHPの警告を受けています。それは、ウェブサーバーがNATされているという事実に関連していますか?現在、ファイアウォールを設定して、開発サーバーのポート19235を80に設定しています。
10 wp-cron  warnings 

1
一度に1つのwp_cron()のみが実行されるようにする方法は?
wp_cron()次のコードのような関数が約20個あります。ほとんどすべてのcronは1時間ごとに実行されます。いくつかは毎日です。 if ( ! wp_next_scheduled( 'my_task_hook' ) ) { wp_schedule_event( time(), 'hourly', 'my_task_hook' ); } add_action( 'my_task_hook', 'my_task_function' ); function my_task_function() { //Complex Code } サーバーのパフォーマンスを向上させ、ホスティング会社からサーバー制限メッセージを取得し続けないように、特定の時間に実行されるcronが1つだけであることを確認したいのですが...可能ですか? 現在受け入れられている答えは素晴らしいですが、私は次の質問を持っています、それが私がこの質問に対する賞金を始める理由です。 最初に受け入れられた答えを読んでください。 cron 1が実行されるとしましょう。5分以内にいるため、または最初のcronがまだ実行されているため、cron2のコードは実行されませんが、cron2のためにwp_schedule_event( time(), 'hourly', 'my_task_hook' );実行されているため、WordPressはcron2 が実行されていると見なすと思います。 cron2コードの実行は実行されません。

2
wp-cron.phpに既知の脆弱性はありますか?
WordPress v.4.1を使用していますが、すべてのプラグインとテーマが最新です。 ログファイルにこれらが多すぎる... xxx.xxx.xxx.xxx - - [02/Jan/2015:13:30:27 +0200] "POST /wp-cron.php?doing_wp_cron=1420198227.5184459686279296875000 HTTP/1.0" 200 - "-" "WordPress/217; http://www.example.com" ここで、xxx.xxx.xxx.xxxはWebサイトがホストされているサーバーのIPアドレスであり、 " http://www.example.com "は私のWebサイトです。 wp-cron.phpに影響する既知の脆弱性(エクスプロイト)はありますか? ファイルを「保護」する方法はありますか? ありがとうございました!
9 wp-cron 

2
WordPress cronジョブはページの読み込みを遅くしますか?
ユーザーがサイトを訪問し、その訪問が非常に集中的なcronジョブをトリガーした場合、ページの読み込み速度が遅くなりますよね?ページはcronジョブの実行を待たずにロードされますが、cronジョブは並行して実行されるため、サーバーがビジー状態であるため、ページのロードが遅くなる可能性があります。
8 wp-cron  cron 

2
コマンドラインでWordPressを実行する-遅延出力をオフにしますか?
WordPressの外部で実行されるcronジョブを作成しています。開発の観点から見ると、コマンドラインで次のようなコマンドを実行するだけで、クリーンアップスクリプトまたはcronジョブをデバッグおよび作成することが非常に簡単になります。 php myfile.php 私の問題は、WordPressが何らかの形ですべての出力を遅延させることです。通常、このようなphpファイルを実行すると、出力はリアルタイムで画面に生成されます。 WPがジョブの終了まですべての出力を遅らせるのを防ぐ方法を知っている人はいますか?これはおそらく、PHPファイルの実行時に欠落している単純なパラメーターか、何らかの定数ですが、よくわかりません。 次のコードでは、各出力の間に1秒の遅延があることが予想されますが、代わりに現在、最後にすべての情報が一度に印刷されます。 set_time_limit( 0 ); ini_set( "memory_limit", "64M" ); ob_start(); require_once( dirname( __FILE__ ) . '/wp-load.php' ); // you need to adjust this to your path ob_end_clean(); global $wpdb; $q = $wpdb->prepare ("SELECT * FROM wp_posts LIMIT 5"); $results = $wpdb->get_results ($q); echo "found " . …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.