先日からあるWPブログの予約投稿が失敗するようになりました。
何か変更した覚えがないので、不思議でした。
予約投稿失敗でググると原因はいろいろありました。
例えば、
・プラグイン
・ベーシック認証
・キャッシュ
・タイムゾーン
・cron
私が過去に予約投稿失敗したものは、プラグインです。
ただ、予約に関係しそうなプラグインを使ってないと思うのですが、自分が知らないだけで使っている可能性もあるので、試しにプラグインをすべてはずして予約投稿したのですが、やはり失敗しました。ですから今回はプラグインが原因ではありません。
次にベーシック認証。これはやってないのでパス。キャッシュの処理は何もしてないので、パス。
で、タイムゾーンですが、これは日本にしているので問題なし。
残るはcronですが、cronは何もしてないのにと思ったんですが、実は問題はcronでした。
というか、サーバーが問題なんです。サーバーが遅いので(安い海外サーバー)cronの設定時間が、短すぎて予約投稿で失敗していたようです。
変更したのは、wp-includesにあるcron.phpです。
$cron_request = apply_filters( ‘cron_request’, array(
‘url’ => add_query_arg( ‘doing_wp_cron’, $doing_wp_cron, site_url( ‘wp-cron.php’ ) ),
‘key’ => $doing_wp_cron,
‘args’ => array(
‘timeout’ => 5,
‘blocking’ => false,
/** This filter is documented in wp-includes/class-wp-http-streams.php */
‘sslverify’ => apply_filters( ‘https_local_ssl_verify’, false )
)
) );
‘timeout’ => 0.01,
変更後
‘timeout’ => 5,
タイムアウトの数字をいくつに変えるかは、サーバー環境によって違うと思いますが、大きめにしておけば、タイムアウトする前に予約投稿できるはずです。
まさか、cronとは思いませんでしたが、原因と対策ができてよかったです。
cron.phpの変更については、下記サイトを参考にしました。感謝です^^。
参考サイト
http://wp.nyumon.club/8177.html
こんにちは
何か問題が起きると自分で解決できるように
なるのも重要ですね。
肝に銘じておきます。
ありがとうございました。
応援ポチしました♪
また来ますね~!
林檎ままさん、コメントと応援ポチありがとうございます。
>何か問題が起きると自分で解決できるように
>なるのも重要ですね。
はい、そうですね。
今は、検索エンジンを利用すればたいていの問題は解決できます。また、どうしても解決できない時は、ヤフー知恵袋などを利用するといいです。