wordpressのwp-cron.phpをCRONでうにゃうにゃしたはなし
wordpressのwp-cron.phpを定期的に動かしちゃうぜえ〜ということでうにゃうにゃしたはなしを書く。 あんまし難しいこととか専門用語とかわからないのでうにゃうにゃと言って誤魔化すのであった。 なお、設定したサーバーはカゴヤさんです。
wordpressで、とある時間の1時間前に自動でメールを送りたい人生だった
なにもかも表題の通り。というわけで、寝てても勝手にとある時間の1時間前にメール送ってくれるように設定するんじゃ!!
ちなみになにがしたかったかというと、とある予約サイトで、予約された日時の1時間前にお客さんに確認メールを送りたかったんじゃ。
wp-cron.phpの権限
wp-cron.phpさんは、一番初めのディレクトリの中におります。 ファイルパーミッションを変更して、「実行」を許可します。 普通のレンタルサーバなら、「744」あたりでいいと思います。たぶん。これでwp-cron.phpさんの受け入れ態勢が整いました。
wp-cron.php「カモーン!щ(゚Д゚щ)」
cron設定
今回設定するサーバーはカゴヤなので、カゴヤでの設定方法を記載するでごわす。 個人的にはロリポップさんを愛用してますが(安い使いやすい)、お仕事はカゴヤさん使うことが多いです。 カゴヤさんかなり使いやすくてオススメです。 機能もサポートもとっても◎です。 カゴヤはコントロールパネルからCRON設定ができます。 システム > Webサイト > CRON設定 から設定するんじゃよ。
MAILTO="メールアドレス"
# wp-cronさんを動かすんじゃ
# 5分毎に実行
*/5 * * * * /usr/local/bin/php /home/アカウント/public_html/wp-cron.php
設定する内容はこちら。
カゴヤでは、MAILTOで設定したメールアドレスにメール通知が送られるようです。デフォルトの設定では、実行するごとに結果の通知メールをデフォルトメールアドレス(アカウント@kagoya.net)に送るようになっています。つまり、5分毎に実行したぜメールが届くという…。迷惑メールも真っ青の頻度ですよ。
*/5 * * * * / で、5分毎に実行するよ〜と指定しています。此処の5を15などに変えると、15分毎になりますね。
カゴヤの場合、phpファイルを実行させるには、/usr/local/bin/phpの記述が必要なようです。これ入れずにそのままphpファイルを指定したら全然動かなくて乾いた笑いを漏らしました。(よく見たら公式ホームページに書いてあった)
その後半角スペースをあけて、phpファイル(wp-cron.php)を指定します。
以上の設定をしたら、5分後MAILTOで設定したメールアドレスに「Cron Daemon」が届きます。
「Content-type: text/html」という内容のメールが届いたら、たぶんOKです。
これ放置しておくと、5分毎にメールが届きまくるので、メール送信の設定を変えます。
/home/アカウント/public_html/wp-cron.php 1> /dev/null
エラーだけしか受けとりたくないんじゃ!という方はこちら
/home/アカウント/public_html/wp-cron.php >/dev/null 2>&1
エラーも何もかも受け取らないんじゃ!という方はこちら
わたしはビビリなので、エラーメールは受け取るようにしました。
というわけで最終的に書いたコマンドはこちら。
MAILTO="メールアドレス"
# wp-cronさんを動かすんじゃ
# 5分毎に実行
*/5 * * * * /usr/local/bin/php /home/アカウント/public_html/wp-cron.php 1> /dev/null
ここまで設定したらあとはwordpressで1時間前にメール送ってくれ〜いって設定して、寝るだけです。寝てても5分毎にがんばってくれているはずです。希望の時間にバッチリ自動送信してくれるはずです。 たぶん!!!!!