web-dev-qa-db-ja.com

営業時間内にのみの実行するようにWordPressの自動更新をスケジュールする

WordPressの自動更新を有効にしましたが(はい)、万が一これがうまくいかなかった場合に備えて、自動更新は日中の時間帯にのみ実行したい(例:09:00〜17:30)。

私たちは "initの" WP-Cronを無効にしており、10分ごとにサーバのcrontabからそれを呼び出しています。

自動アップデートをどのように調整すれば、すべてのアップデートがこの間に実行されますか。 WP-Cronのフックを見ましたが、少し迷子になりました。

さらに - 自動更新が完了すると起動するフックはありますか?私たちのコードはソース管理されています、そして私は更新の後に私たちのコードに新しいブランチを '自動コミット'する方法を探しています(手動でそれをする必要はありません)。

(重複する質問では、確認するためのフックについてのガイダンスは提供されていません - 単にデータベースを編集することをお勧めします) - WP Cronが 'on load'で起動される - 専用のcronで実行するのではなく)

乾杯、ダレン

5
Darren

これは実際に驚くほど簡単です。これをあなたのwp-config.phpファイルに追加すれば、指定された時間外にはすべての自動更新がブロックされます。

// Suspend updates when outside of business hours, 9:00 AM to 5:30 PM
$updates_suspended = (date('Hi') < 0900 || date('Hi') > 1730);

define( 'AUTOMATIC_UPDATER_DISABLED', $updates_suspended );

より具体的にする必要がある場合は、 これらの他の定数およびフィルター を使用して、実行する自動更新を制御することもできます。

これを設定するときは、必ずサーバータイムゾーンを使用してください。関数date()は、あなたのローカルタイムゾーンとは異なるタイムゾーンを使うように設定されているかもしれません。

4
Ben Cole