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

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

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


PubSubHubbubを利用してWebサイトの更新をリアルタイムに通知しよう
横幅が広がったときの挙動が変わる!CSS Gridの「auto-fill」と「auto-fit」の違い
npm install時に「cb() never called!」とエラーが表示されたときの解決法
CSSでclassがついていないタグにだけスタイルを当てる方法
.htaccessを使って、httpからhttpsへリダイレクトする設定方法
Visual Studio Codeで正規表現にマッチするか確認できる拡張機能「Regex Previewer」
WordPressのメディアライブラリで画像を追加するときに表示される「HTTP エラー」の解消方法
webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
Dashで「Secure Input is Enabled」と表示される場合の対処法
Dart Sassでファイルを分割して管理する方法|Dart Sass入門
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Adobe Media Encorderを使って、動画を簡単にアニメーションGIFに変換する方法
Karabiner-Elementsでcommand + Qの2回押しでアプリが終了するように変更する方法
ランチャーアプリのAlfred3が便利だったのでPowerPackを購入しました!!これで快適なランチャー生活を
iStat Menusの「天気」アイコン表示と設定
FontExplorer X Proのアプリケーションセット機能で、アプリを起動したタイミングで自動的にフォントの有効化を行う方法
Backlogで2段階認証を設定後、SourceTreeでアカウントエラーが発生する場合の対処法
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
「Dart Sass」「LibSass」「Ruby Sass」などSassの種類や記法に関するまとめ
ATOKで言葉の意味を確かめる「電子辞典検索」タブの設定項目