1.プラグインで解決を試みる
WordPressで予約投稿がよく失敗していたので、原因を調べてみました。
するとプラグインを使って解決する方法があるらしい。
名だたるキャッシュ系プラグインが原因になりうるとのことです。それぞれバージョンによって動かなかったり、オブジェクトキャッシュを有効にすると動かなくなるなど、イマイチ原因も判然としません。
そんなときは「WP Missed Schedule Fix Failed Future Posts」というプラグインのインストールをお勧めします。
こんなプラグインがあるんですね、ということで早速導入。
これで治るといいなあ。
【2015/01/15:追記1】
2.なおらなかったので、代替Cronを使う方法を試みる
上記プラグインではなおりませんでした。。。
ということで別の方法を試す。
WordPressには予約投稿がうまく動作しない時のために、「代替Cron」という仕組みが用意されているようです。
ルートディレクトリにある「wp-config.php」に以下の記述を追加するだけで有効になります。試しに利用してみてください。define('ALTERNATE_WP_CRON', true);
さて、今度こそ。
ちなみにいま使っているキャッシュ系のプラグインは「W3 Total Cache」です。
変えようかなあ。。。
【2015/01/15:追記2】
3.やっぱり「W3 Total Cache」が悪さしてる?
もうちょっと調べてみたら、こんな情報もありました。
object-cache.phpが存在すると予約投稿に失敗する。
object-cache.phpが存在しないと予約投稿は成功する。WordPress予約投稿に失敗する原因はwp-content/object-cache.phpだった | urashita.com
ちなみにキャッシュ系プラグインとwp-content以下のファイルの関係は以下のとおりらしいです。
WP File Cacheをインストールすると、
/var/www/wordpress/wp-content/object-cache.php
が作成されます。WP Super Cache をインストールすると、
/var/www/wordpress/wp-content/wp-cache-config.php
/var/www/wordpress/wp-content/advanced-cache.php
が作成されます。W3 Total Cacheをインストールすると、
/var/www/wordpress/wp-content/object-cache.php
/var/www/wordpress/wp-content/advanced-cache.php
/var/www/wordpress/wp-content/db.php
が作成されます。WordPress予約投稿に失敗する原因はwp-content/object-cache.phpだった | urashita.com
これは本格的にプラグイン変えたほうが良さそう。。。
【2015/01/16:追記】
4.「W3 Total Cache」を「WP Fastest Cache」に変えた
やっぱり予約投稿できなかったので、キャッシュのプラグインを変更。
「WP Super Cache」で良かったんですが、どうせなら新しそうなのということで、「WP Fastest Cache」を入れてみました。レビューの評価も高かったということで。
ちなみにobject-cache.phpは作られていない模様。
さて、これでどうなるか。
コメント