UpDraft Plusの公開している原因と対策のリストがある。
この中の解決策(4)を適応すればどんな原因だろうと動くはずという記載をネットで目にしたのでこれを実施。即ち、wp-config.php の末尾に下記1行を追加した。
define('ALTERNATE_WP_CRON', true);
するとうまくいった。
ALTERNATE_WP_CRON’がどういうものか、なぜ必要なのか、完全には理解できていないのだが、下記の[記事]
(https://wordpress.org/support/topic/scheduled-posts-still-not-working-in-282?replies=13#post-1175405)が参考になる。そもそもこのような設定が必要になるのはサーバーの設定の何かがオカシイということらしい。具体的な原因として例示されているのは以下の通り。
- Server doesn’t have DNS, and so it can’t figure out who “example.com” is, even though it is itself.
- Server administrators, in a misguided attempt at security, have blocked “loopback” requests, so it can’t actually make a call back to itself.
- Server is running something called “mod_security” or similar, which actively blocks the call due to brain-dead configuration.
- Something else.
追記
- その後、上記の手順を踏まずとも、basic認証を必須化するプラグイン(Force Login)を停止したところ、無事動作することを確認した。
- basic認証やhttps接続はエラーの原因となりやすいと思われる。
コメント