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

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

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


Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
サイトのPocketに保存された回数や、あとで読まれた回数まで解析できるPocketのパブリッシャーツールの登録方法
HTTP/2が設定されているはずなのに、ブラウザ上でHTTP/1.1になってしまう場合はセキュリティソフトを確認
Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!
コーディング時にちゃんと意識したい複数語の連結方法一覧(キャメルケース・スネークケース・ケバブケース)
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
既存プロジェクトにCompassが導入されている場合に備えて、最低限Sassのコンパイルだけでも行えるようにしておく
JavaScriptで特定のOSやブラウザの判定を行う方法
WordPressって何なの?これからWordPressを勉強したい人がとりあえず知っておきたい事
HTMLタグの入力をラクにするスニペット集
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Googleカレンダーに月末の繰り返しイベントを追加する方法
Alfredの検索結果の表示がおかしくなったら確認すること
Stationで複数のGoogleアカウントでGoogle Driveを使用する方法
Stationの「My custom apps」機能を使って好きなウェブサイトをStationに追加する
知っていると作業が少しラクになるMacの豆知識 #1日1Tips – 2019年12月
Keyboard Maestroの「Prompt for User Input」でユーザーの入力に応じて変化するマクロを作成する方法
複数のアプリをまとめて管理できるBiscuitを便利に使いこなすための設定方法
Figmaで複数行テキストを1行ずつ分割するプラグイン「Nisa Text Splitter」
Path Finderのファイル比較ツールをKaleidoscopeに変更する方法