WordPressで「予約投稿の失敗」となってしまう場合の対処方法

WordPressの予約投稿機能を使えば、指定した日時になると自動的に公開されて便利です。
しかし最近WordPressで「予約投稿の失敗」と表示されて投稿がうまくできない事象が発生しました。
発生した事象
WordPressの管理画面で「予約投稿の失敗」と表示されて、記事は投稿されずに残っている状態です。

対処方法
とりあえず再度予約投稿を設定しなおしたら正常に動作しましたが、今後発生しないためにいくつか対策を調べました。
代替Cronを使用する
WordPressの予約投稿機能は「疑似Cron」と呼ばれる仕組みで動いていて、時間がきたら実行するのではなく時間がきたタイミングでファイルにアクセスがあると実行します。
そのため、アクセスが全くなかったり、キャッシュプラグインを使用していてファイルへアクセスされないと失敗することがあるようです。
ただ、疑似Cronが失敗したときに代わりに動作する「代替Cron」という仕組みが用意されています。
設定はWordPressのインストールディレクトリ直下にあるwp-config.phpに、下記の一文を追加するだけで対応できます。
define('ALTERNATE_WP_CRON', true);これだけで設定できるので、この方法が一番簡単そうです。
予約投稿プラグインを使用する
予約投稿プラグインを使用しても解決できます。
有名なのは「Scheduled Post Trigger」や「SchedulePress」が有名です。
他にもいくつかありますが、プラグインの更新日がかなり古かったりするので、インストール時は「最終更新日」と「検証済み最新バージョン」を確認して使うようにしましょう。
ただ、予約投稿のためだけにプラグインをインストールするのは手間ですし、メンテナンスを考えると代替Cronを使用した方がよさそうです。


コードスニペットの管理方法や命名規則について
HTMLが書ければすぐ習得できるテンプレートエンジン「EJS」の基本的な書き方
MAMPでローカル開発環境にWordPressをインストールする手順
iCLUSTA+でWordPressのアップロード容量を上げたいときのメモ
MacVim-Kaoriyaのインストール方法
Sassのマップ機能を使った変数の管理方法
Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」