wp-cronについての詳細が必要です。私wp_schedule_event
は自動的にメールを送信するために使用しました。
ただしwp_schedule_event
、ユーザーが当社のサイトにアクセスしたときにのみトリガーされます。cronを自動的に実行する方法は?
wp_cron
名前が示すように、バックグラウンドで常に実行されるわけではありません。WordPressスクリプトは、誰かがサイトを表示しているときにのみ実行され、誰も見ていないときには実行されないため、この種のスケジューリングはWordPressのようなWebアプリケーションでは不可能です。代わりに、WordPressスクリプトが起動すると、cron値がチェックされ、期限が過ぎている場合は実行されます。数分遅れたり、数時間遅れたりする場合がありますが、それが機能します。The wp_cron
基本的に、ジョブは最初の機会に実行されます。
誰かがサイトにアクセスしたときにスクリプトを実行したい場合は、まったく必要ありませんwp_cron
。wp_cron
誰かが訪問したときにトリガーされません。ファジータイマーです。誰かが訪れたときに走るには、いくつかを考え抜かなければなりません。テーマのfunctions.phpに関数を配置することもできますが、それは、訪問の最初のロードだけでなく、すべてのページのロードで実行されます。wp_login
誰かがログインしたときに関数にフックして実行することができます。最初に「訪問」としてカウントされるものを決定する必要があります。
予定時刻の直後に最初の訪問で実行されます。
1.-はい、自動的に実行されますが、訪問者によってトリガーされます。
2.-スケジュールに基づいてメールを送信するだけで十分です。
実際のcronの動作については、次を使用してスクリプトを実行できます。crontab
crontab -e
wget -q http://domain.com/wp-content/some-path/your-script.php
-q:静か(出力なし)。スクリプトを実行するだけです。そうしないと、サーバーに多くのファイルがあります(wget pull files)
ヒント:http ://www.thegeekstuff.com/2011/07/php-cron-job/
cpanelの使用:http ://wiki.hostbillapp.com/index.php?title = Settings:_cPanel:_Cron_job
*nixcronの設定方法に誰もが答えたようです。本当の答えはワードプレス固有でなければなりませんが。wp-config.phpで実行できる設定があります
define('DISABLE_WP_CRON', 'true');
これで、IgorParraが回答したように*nix cronを構成できる場合、バックグラウンドおよびオフセットcronジョブは実行されなくなりますが、コントロールパネルまたはcrontabで設定された時間が有効になります。
ファイルに機能を書き込んだ後、cronをwelとして設定する必要があります。
本物が常に望ましいですが、Wordpress(純粋なPHP)で行うことができます: