WP Minor Version Updater
- ダウンロード商品¥ 980


WordPressコアの標準の自動更新は、基本的に最新のマイナーバージョンにのみ適用されます。 本プラグインは「ツール > マイナーバージョン更新」画面から、現在インストールされているバージョンと同じmajor.minor 系列(例: 5.9.x)内の任意のバージョンを選択し、ボタン一つでそのバージョンまでコアを書き換えます。 現在より新しいバージョンへのアップグレードだけでなく、古いバージョンへのダウングレードも選択できます。 検証環境で特定バージョンへの切り戻しや、段階的な適用確認を行いたい場合などに利用してください。
注意事項
* 本プラグインはWordPressコア本体を書き換えます。実行前に必ずデータベースとファイルのバックアップを取得してください。 * メジャーバージョン(例: 6.5 系 → 6.6 系)をまたぐ更新には対応していません。同一系列内のみです。 * ダウングレードはWordPress公式にはサポートされていない操作です。同一系列内であればデータベーススキーマが変わることはほぼありませんが、自己責任でご利用ください。 * `update_core` 権限を持つユーザーのみ利用できます。なお wp-config.php で `DISALLOW_FILE_MODS` が有効な場合、管理者アカウントでもこの権限がWordPress側の仕組みで自動的に剥奪され本プラグインは利用できません(画面にその旨のメッセージが表示されます)。 対処するには wp-config.php 内の`define('DISALLOW_FILE_MODS', true );` の行を削除するか `false` に変更してください。ただしセキュリティ強化目的で意図的に設定されている場合もあるため、 変更前に設定した理由を必ず確認してください。 * コアパッケージは英語版(en_US)を使用します。言語ファイルは wp-content/languages にあるため、 更新後も日本語表示は維持されます。 * PHP・MySQLの互換性チェックは各バージョンの公式リリース(GitHub上のWordPress/WordPressミラー)に含まれる `wp-includes/version.php` の `$required_php_version` / `$required_mysql_version` を参照しています。 取得できない場合は判定不能として一覧から除外しません。 * サーバー環境(PHPの実行時間制限、Apache等のネットワークタイムアウトなど)によっては、更新の途中で処理が強制終了することがあります。その場合、成功・失敗どちらの通知も表示されず、コアファイルの入れ替えが中途半端な状態のまま残る可能性があります(PHPの実行時間切れによる強制終了はプラグイン側では検知・防止できません)。WordPress標準のメンテナンスモード表示は、更新開始から10分経過すると自動的に解除されますが(ファイル自体は残っても実害はなくなる)、コアファイル自体の不整合は自動修復されません。更新後にサイトの動作がおかしい場合は、数分待っても改善しなければ、`wp-content` 以下を保持したままコアファイル(wp-admin, wp-includes, ルート直下の wp-*.php など)を対象バージョンの公式配布物で上書きするか、`wp core download --force` 等でクリーンな状態に戻してください。
Installation
1. `wp-content/plugins/wp-minor-version-updater` にプラグインを配置します。 2. 管理画面のプラグイン一覧から有効化します。 3. 「ツール > マイナーバージョン更新」から利用します。
Changelog
= 1.8.0 = * タイムアウトの実際のボトルネック(ダウンロード側か、update_core()内部のファイル配置側か)を 切り分けるための計測ログを追加。WP_DEBUGが有効な場合のみ、更新開始・各段階(update_feedback発火時)・ 終了の経過時間を wp-content/debug.log に記録する。画面表示やUIには一切影響しない。 二段階化(ダウンロードと実行を別ステップに分ける)を検討する前に、まずこのログで実際にどの段階が重いかを確認するための計測。 = 1.7.0 = * タイムアウト(PHPの実行時間制限、Apache等のネットワークタイムアウトなど)で更新処理が途中で 強制終了した場合の挙動(通知が出ない、コアファイルが不整合な状態のまま残りうる、メンテナンス表示はWordPress標準の仕組みで10分後に自動解除される等)を画面の注意書きとreadme.txtに明記。 復旧方法(wp-content を保持したままコアファイルをクリーンな状態に戻す)もあわせて記載。 * stale だった docblock(削除済みクラスへの参照)とreadme.txtの `Tested up to` を実態に合わせて修正。 = 1.6.1 = * DISALLOW_FILE_MODS 有効時、ツールメニュー自体が消えてしまい「そもそも存在に気づけない」 混乱を招いていたため、メニュー表示の権限要件を update_core から manage_options(通常の管理者権限)に変更。メニューは常に表示されるようにし、実行可否・理由の判定は引き続き画面表示時に update_core 権限で行い、DISALLOW_FILE_MODS が原因の場合はその旨と対処法を画面に明記する。 = 1.6.0 = * 管理者アカウントでも `DISALLOW_FILE_MODS` が有効なサーバーでは `update_core` 権限が 自動的に剥奪され、原因不明の「権限がありません」しか表示されなかった問題を改善。 DISALLOW_FILE_MODS が原因の場合は、その旨と具体的な対処法(設定の削除/false化)を明示するメッセージに変更。 = 1.5.0 = * stable-check APIのレスポンスをtransientで1時間キャッシュするように変更。従来は画面表示のたびに 外部通信が発生し(系列内の候補バージョン数によっては要件確認と合わせて数十秒かかる場合があった)、 外部サービスが不安定な際に画面表示自体が遅くなる原因になっていた。 * PHP/MySQLの要件情報がGitHub側から取得できず判定不能だったバージョンがある場合、一覧からは除外せず 含めたままにしつつ、その旨を画面上に警告表示するように変更。従来は取得失敗が起きても無警告で 互換性チェックが素通りになっていた。 = 1.4.0 = * 暗転オーバーレイ・進捗バー・隠しiframeへのストリーミング出力(1.3.0〜1.3.3で追加)を撤去し、 通常のフォーム送信→サーバー側で同期処理→結果メッセージ表示、というシンプルな方式に戻した。 環境によって完了通知の検知が安定しなかったため。 * ボタンの二重送信防止(クリック後に無効化+文言変更)は維持。 * Apacheのタイムアウト延長(docker/apache/zz-timeout.conf)とPHP側のset_time_limit延長はそのまま維持(同期処理でも数分かかる更新には引き続き必要なため)。 = 1.3.3 = * set_time_limitの上限を550秒に延長(同梱のApache設定でTimeoutを600秒に延長したことに合わせて)。 Apacheのデフォルトタイムアウト(多くの場合60秒)は set_time_limit() と無関係に接続を切ってしまい、 ファイルコピー中の無通信区間が長いと更新処理が中断される原因になっていたため。 = 1.3.2 = * 進捗ストリーミングの解析を、改行区切り行パースから非空白マーカー(@@WPMVU-BEGIN@@ / @@WPMVU-END@@)を 使った方式に変更。ブラウザがレスポンスをHTMLとして解釈し改行やスペースが詰められた場合でも、 進捗・完了通知を正しく検知できるようにした(検知できないと「完了」表示のまま実際にはリダイレクトされず、 更新結果が反映されないように見える不具合の原因になっていた)。 * ストリーミング応答のヘッダー送信に失敗した場合、原因調査用にdebug.logへ記録するように変更。 = 1.3.1 = * 更新ボタンのname属性が"submit"だったためform.submitがそのボタン要素に上書きされ、 進捗が0%のまま止まって見えるバグを修正。 = 1.3.0 = * 更新実行中、画面全体を覆う暗転オーバーレイ(進捗バー・ステータスメッセージ付き)を表示し、誤操作を防止。 * コア更新中にWordPress標準のメンテナンスモードが有効になる旨を、確認ダイアログ・オーバーレイの両方で明記。 * 隠しiframeへの逐次ストリーミング出力により、ダウンロード・展開・ファイルコピー等の実際の進捗を リアルタイムに近い形で進捗バーへ反映(`update_feedback` フィルターをSkinへ明示的に接続)。 * サーバーが直接書き込みできずFTP/SSH認証情報が必要な環境で更新が失敗した際、原因不明のエラーではなく 具体的な理由を表示するよう修正(存在しないメソッド呼び出しによる致命的エラーを修正)。 = 1.2.0 = * PHPバージョンに加えてMySQLバージョンの互換性チェックを追加。同一系列内でも、現在のPHP・MySQL両方の バージョンで動作要件を満たすものだけが選択肢に残るようにした。 = 1.1.1 = * 更新実行中にブラウザが切断されても処理をサーバー側で完走させるよう変更(ignore_user_abort / set_time_limit)。 * 更新ボタンの二重送信を防止し、処理中である旨を表示。 * 更新中は他の訪問者・管理画面もWordPress標準のメンテナンスモードでブロックされる旨を画面に明記。 = 1.1.0 = * 同一系列内であればダウングレードも選択できるように変更。 * 各バージョンの最低必要PHPバージョンをチェックし、現在のPHPで動作しないものを一覧から除外する機能を追加。 = 1.0.0 = * 初版リリース。

