WordPressで予約投稿が失敗するときの解決策

Wordpressについて WordPress

1.プラグインで解決を試みる

WordPressで予約投稿がよく失敗していたので、原因を調べてみました。
するとプラグインを使って解決する方法があるらしい。

名だたるキャッシュ系プラグインが原因になりうるとのことです。それぞれバージョンによって動かなかったり、オブジェクトキャッシュを有効にすると動かなくなるなど、イマイチ原因も判然としません。

そんなときは「WP Missed Schedule Fix Failed Future Posts」というプラグインのインストールをお勧めします。

WordPressの予約投稿が失敗した時に試す4つの解決策 | OXY NOTES

こんなプラグインがあるんですね、ということで早速導入。
これで治るといいなあ。

【2015/01/15:追記1】

2.なおらなかったので、代替Cronを使う方法を試みる

上記プラグインではなおりませんでした。。。
ということで別の方法を試す。

WordPressには予約投稿がうまく動作しない時のために、「代替Cron」という仕組みが用意されているようです。
ルートディレクトリにある「wp-config.php」に以下の記述を追加するだけで有効になります。試しに利用してみてください。

define('ALTERNATE_WP_CRON', true);

WordPressの予約投稿が失敗した時に試す4つの解決策 | OXY NOTES

さて、今度こそ。

ちなみにいま使っているキャッシュ系のプラグインは「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は作られていない模様。
さて、これでどうなるか。

コメント

タイトルとURLをコピーしました