6.1がリリースされました。この記事では、PHPコードに焦点を絞り、新たに追加された関数、アクションフック、フィルタ―フック・クラスをまとめたものです。あわせて、WordPress6.1でアップデートまたは非推奨となったものも最後にまとめています。記載があるもの」を手動で抽出してリストアップしました。注意点マイナーリリースにより、仕様が若干変わる可能性があります。独断で「これは使えそう」「重要そう」と思った項目については、★マークを付けています。関数に関しては、以下のものを除外しています。private)関数名がアンダーバー始まりおそらく内部的な利用にとどまるもの内部にフィルタ―フックが用意されており、直接呼ぶ事はおそらく想定されていないものdid_filter現在のリクエストの間にフィルターが適用された回数を取得します。いう関数がありますが、フィルターフックでも同様の事を行えるようになりました。引数には、フィルターフック名の文字列を渡します。Tracis_loginログイン画面かどうかを判定します。Tracis_term_publicly_viewableタームが「閲覧可能」かどうかを取得します。持っているので、以下のようなコードをよりシンプルに書く事が出来ます。リビジョン数を取得します。(リビジョン数)が含まれます。リビジョン数の管理や削除を行うような機能を開発する時に役立つかもしれません。よるタームの検索結果をフィルタリングします。タームを検索する箇所というのは、具体的には以下です。以下のようなコードで、検索結果に常に独自のタグをサジェスト表示することが出来ます。);第三引数でクエリも取得出来るので、独自の検索ロジックを組み込む事も出来るかもしれません。Tracblock_core_navigation_render_inner_blocksナビゲーションブロックのインナーブロックをフィルタリングします。メニュー項目をカスタマイズすることが出来るようです。★これまでは、各フィードをオンオフするためのフィルターフックは、以下二つに限られていました。)上記二つのフックに加え、他のフィードについても出力の有無を制御出来るようになりました。フィルタリングします。ヘッダー画像とは、いわゆる「カスタムヘッダー画像」の事です。Traclost_password_html_linkパスワードリセットページへのリンクHTMLをフィルタリングします。クラスをフィルタリングします。get_post_class)をコンテナ要素に使用する場合があると思います。投稿に紐づけられている場合、以下のように出力されるクラス名も非常に長くなります。コンテンツが入ります。</div>このフックを使うと、多数のクラスが生成される事を防いだり、また多数のタームを持つサイトのパフォーマンスを向上させる事が出来ます。クラスを全て表示させたくないのであれば、以下のようなコードとなります。);上記フィルターフックを適用すると、出力例は以下のようになります。entry">コンテンツが入ります。Tracpre_option取得するオプションの値を取得する前にフィルタリングします。以外を返すと、データベースからオプション値などを取得する処理がバイパスされ、このフックの戻り値が値となります。不用意に書き換えると不具合の原因になるかもしれませんので、使用する際は注意して下さい。した時に、出力されるユーザー名に投稿数が表示されます。この投稿数のクエリをバイパスし、事前に指定出来るフックです。ID、値に投稿数を含めた配列を返却する必要があり、以下コード例では全ユーザの投稿数を固定値にしていますが、実際はカスタム投稿数や投稿ステータスを考慮した動的な値をユーザー別に指定する事になると思います。渡される引数をフィルタリングします。注意点としては、フィルタが反映されるのはフロントエンドのみという事、ブロックの設定で「テンプレートからクエリーを継承」がオンになっているとフィルタを通過しないという点です。エンコーディングのオプションをフィルタリングします。そのため、フラグを立てる時はビット代入演算子を使うと分かりやすいと思います。レスポンスを見やすくしたい時に便利だと思います。);ブラウザで直接エンドポイントを叩いた時、フィルター適用前後の表示は以下のようになります。フィルタリングします。Tracsite_status_page_cache_supported_cache_headersコアがサポートするキャッシュヘッダのリストをフィルタリングします。このリストは、サイトヘルスページでページキャッシュが有効化どうかを判定する基準として、また無効である場合の説明文に表示するテキストとして使用されます。キャッシュヘッダについてはあまり詳しくありませんが、特定のベンダーが使用するキャッシュヘッダーを追加したりするようです。サイトヘルスページにオブジェクトキャッシュに関するテスト項目が追加されます。これらのフィルターフックは、そのオブジェクトキャッシュに関する設定や情報をフィルタリングします。これらのフィルタは、ホスティングプロバイダの環境に応じて、より具体的な情報をユーザーに伝えるために追加されたようです。環境」であることが必要です。場合は、サイトヘルスにはオブジェクトキャッシュに関する情報が表示されません。以下定数を定義しても変わりませんでした。ファイルでは上書き出来ないようです。場合は以下ファイルで定数が定義されていたため、ここを書き換える事で対応しました。変更する事で意図しない処理・不具合が発生する場合があります。注意した上で、自己責任で設定して下さい。オブジェクトキャッシュサービスのリスト。オブジェクトキャッシュの利用を推奨する時に表示される。オブジェクトキャッシュが有効ではない時に、有効にする事を推奨する説明文の二つ目の段落テキスト。上記フックを使ったコード例はこのようになります。sprintf('次のサービスをおすすめします。パラメータをフィルタリングします。このフックが追加された理由のユースケースの一つとして、子テーマでページネーションを書き換える例が挙げられていました。書き換えるしか方法がありませんでした。よっては正しく置換出来ないかもしれません。このフックを使えば、子テーマにテンプレートを追加する必要がなくなり、親テーマの更新に柔軟に追従する事が出来ます。Tracwp_list_table_class_nameインスタンス化するリストテーブルクラスをフィルタリングします。クラスを継承した独自クラスを定義した上で、このフック内でそのクラス名を指定すれば、自動的にインスタンス化してくれるのではないかと思います。各種設定をフィルタリングします。コアにバックポートされたもので、それぞれ以下のデータをフィルタリングします。クラスのインスタンスが渡ってきます。仕組みを理解している必要がありますが、コードの一例を記載します。出力のベースとなるスタイルノード」をフィルタリングします。CSS」の事であり、コールバック関数の引数には例えば以下のようなデータが渡ってきます。独立して読み込む時などに使用されるフックのようです。ヘッダをサポートしました。このヘッダが導入された理由として、独自に配布しているサードパーティ製のテーマの場合、更新に関しての以下二つの問題点がある事がもとになっていると思います。ヘッダをサポートした事で、同名テーマとの衝突を避ける事が出来るようになりました。フィルターフックを使用する事で、より手軽に更新機能を実装出来るようになりました。いう同様のフィルターフックが存在します。フィルターフックを使用した更新機能の実装方法を解説しています。テーマにおいても、ほぼ同じ考え方・実装方針が使えると思います。decoding="async"属性が付与されるようになりますが、この属性の有無や値をフィルタリングします。);なお、このフィルタを通過するのはコンテンツとして出力される画像のみです。フィルターフックを使用します。パラメータをフィルタリングします。パラメータをフィルタリングします。コード例を参照して下さい。属性を付与するためにフィルターフックです。どのリソースをプリロードするか、またどのような属性を指定するかはサイトによって大きく変わってくると思いますが、以下の例のように配列で指定します。Tracwp_read_audio_metadata音声ファイルのメタデータをフィルタリングします。どのようなケースで使用するのか思いつきませんが、以下のようなコードでフィルタリングする事が出来ます。以下のようなデータが渡ってきます。2:18)ちなみに、画像ファイルと動画ファイルにも、同様のフィルターフックが用意されています。説明文のマークアップをフィルタリングします。「フォームの必須項目」とは、具体的には以下のような箇所です。関数に追加された二つのフィルターフックです。目的に応じて、メールを送信するかどうかをフィルタリングします。プラガブル関数であるため、テーマやプラグインで上書きする事が出来ます。これまでは、メールを通知するかどうかを決定するフックがコア関数に存在しなかったため、その機能を実装するためにはコア関数をコピーした上でカスタマイズする必要がありました。このフックを利用すれば、関数を上書きしなくても済むケースもあると思います。エラーログが出力されるようになりました。同時に、エラー発生時に追加の動作を行う事が出来るように、二つのフックが追加されました。wp_after_load_templateテンプレートファイルが読み込まれる前・読み込まれた後に発火します。読み込まれるファイルの事です。そのため、おそらくブロックテーマでは発火せず、クラシックテーマ向けに追加されたフックではないかと思います。これは、テンプレート読み込みのタイミングデータなどのデバッグ情報の収集に役立てる事が目的のようです。Tracクラスクラスに関しては、一般的な開発ではほぼ使わないであろう事、また自分が詳しく解説出来る自信がありませんので、各クラスの冒頭のコメント欄を翻訳した文章のみ記載しておきます。影響が大きそうな関数のみをピックアップしています。add_settings_section第五引数で、追加されるHTMLのラッパーやクラス名を追加出来るようになりました。エイリアスとなります。推奨されるようになりました。フィールドのサポートが追加されました。これはダイナミックブロックに関連しますが、レンダリングにPHPファイルを指定する場合、例えば以下のような書き方をしていたと思います。側をよりシンプルに記述出来るようになります。属性がデフォルトで付与されるようになりました。マルチサイト機能が無かった頃のプロジェクトで、WordPress3.0.0でコアに取り込まれ、開発終了となったようです。向けの関数のようですが、6.1で非推奨となりました。これらの関数を今使っているテーマ・プラグインは無いでしょうから、気にする必要はないと思います。Releasestheme.jsonXGitHubWordPressYouTube。