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

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

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


Nuxt.jsでコンポーネントを作成してコードの共通化を行う|Nuxt.jsの基本
効率的なマークアップが出来るようになるEmmetでCSSを書く時の基本
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
Visual Studio Codeを使ったコード整形方法(Fomatter)
Vue CLIでGA4を導入する方法
mac環境にnodebrew経由でNode.jsをインストールしてバージョンを管理する方法
Apacheのテストページを非表示にする方法
Movable TypeでMTLoopを使ってkeyでソートしたときに、10個以上表示させると並びがおかしくなる
Google Maps APIを使ってGoogle Mapsをウェブサイトに表示させる方法
Dashで「Secure Input is Enabled」と表示される場合の対処法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
PNG画像の圧縮をpngquantとAutomatorを使って右クリックメニューからできるようにする
Visual Studio Codeで複数ファイルを編集するときにタブやペインの操作方法
Font Awesome 5の基本的な使い方と、Font Awesome 4との違い
1PasswordとAlfredを連携してログイン情報の検索を行う方法
「DevTools z-index」でz-indexがかかっている要素をChrome開発者ツールに一覧表示させる
Alfred 4のターミナル機能で実行されるアプリをiTerm2に変更する方法
Spreadsheetで改行をする方法|スマホアプリでの改行方法や演算内を改行して表示させる方法
Photoshopでファイルを開いたとき「予期せずにファイルの末尾に達しました。」と表示される場合の対処法
Macで英語の発音記号を入力する方法