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

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

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


Visual Studio Codeを使ったコード整形方法(Fomatter)
Visual Studio Codeのエクスプローラー上でファイル・フォルダの複製ができるようになる拡張機能「Duplicate action」
Vue CLIのtitleタグやmetaタグの設定方法
WordPressでbloginfo()の一部パラメーターの廃止・非推奨に注意!
goenvを使って、MacにGo言語をインストールする
Visual Studio Codeでコメントを色分けして管理する「Better Comments」
Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
Webサイト制作の基礎の基礎、HTMLって何?
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
CSS疑似要素(::beforeや::after)のcontent内で改行したり半角スペースを複数入力する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Google Chromeに「タブを検索」機能が追加!開いているタブや最近閉じたタブから検索が可能に!
SNS・ウェブサービスへの保存系Chrome拡張機能
Path Finderでタグを一斉に追加するタググループ機能
FigmaでAdobe XDやSketchのデータを開く方法
一瞬で日時を取得するKeyboard Maestroのタイムスタンプ機能についてまとめる
CodeAnywhereでターミナルに触る練習をする
Vue CLI 3でfaviconの設定をする方法
ターミナルの$記号前の表示を自由にカスタマイズする
Dashの時間と日付のフォーマット設定方法
「ヴィパッサナー瞑想」で自分の感情や身体の感覚を客観視する