WordPress 6.5「レジーナ」が4月2日に正式リリースされました。この記事では、その新機能と改善点の数々をご紹介します。

特に強力なAPIが導入されていることで、WordPressの開発体験が大幅に改善されそうです。また、サイト構築やコンテンツ作成に関する嬉しい変更点も多数組み込まれています。

そして、新登場のフォントライブラリにより、コアブロックのコンテンツにカスタムフィールドの値を注入したり、サイトエディターから直接Google Fontsをダウンロードしてインストールしたりすることも可能に。新たなデザインツールとUIの強化により、全体的な編集体験もさらに向上します。

この記事でWordPress 6.5のすべてを網羅することはできませんが、見逃せない新機能や改善点を一挙にまとめてご紹介していきます。

フォントライブラリの導入

まず取り上げたいのは、スタイルインターフェースからフォントを管理できるフォントライブラリの導入です。メディアライブラリのメディア管理に似た方法でフォントを管理することができるようになります。

ローカルフォントGoogle Fontsを簡単にインストールおよびアンインストールでき、利用中のテーマに関係なく有効または無効にしたいフォントを選択できます。

多くのウェブサイトにとって重要な側面であるタイポグラフィをより柔軟に管理できるようになるのは、大きな改善点。WordPressサイトでカスタムフォントを使用する際は、テーマのフォントに頼ったり、CSSを編集したりする必要がなくなります。

使い方はとてもシンプルで、サイトエディターのUIでサイドバーを開き、「タイポグラフィ」を選択します。

WordPress 6.5の「タイポグラフィ」パネル
WordPress 6.5の「タイポグラフィ」パネル

このパネルに利用可能なフォントと要素が一覧表示されます。「フォント」の横にある管理アイコンをクリックすると、3つのタブがあるポップアップが表示されます。

WordPress 6.5フォントライブラリのインターフェース
WordPress 6.5フォントライブラリのインターフェース

ライブラリ」タブには利用可能なフォントのプレビュー、「アップロード」タブにはコンピュータからフォントアセットをアップロードするためのドラッグ&ドロップエリアが表示されます。「フォントのインストール」タブでは、Google Fontsからフォントをインストールすることができます。

「Install Fonts」タブからGoogle Fontsに接続可能
「Install Fonts」タブからGoogle Fontsに接続可能

Google Fontsに接続すると、利用可能なフォントが一覧表示されます。

Google Fontsのフォント一覧
Google Fontsのフォント一覧

フォント名でフォントを検索することもできます。

フォント名を検索
フォント名を検索

必要なフォントの種類を選択して、「インストール」をクリックすれば完了です。

Ubuntuのフォントの種類
Ubuntuのフォントの種類

新しいフォントをインストールすると、フォントライブラリはインストールされているフォントにフォントファミリーの定義を追加し、フォントのアセットをwp-content/uploads/fontsフォルダにダウンロードします。

フォントライブラリを無効にする

プラグインやテーマの開発者は、新PHPフィルターfontLibraryEnabledを使って、フォントライブラリを無効にすることができます。

function disable_font_library_ui( $editor_settings ) { 
	$editor_settings['fontLibraryEnabled'] = false;
	return $editor_settings; 
}
add_filter( "block_editor_settings_all", "disable_font_library_ui" );

データビュー

データビューは、テーブル、グリッド、リストなどの様々なレイアウトを使用して、データセットをレンダリングできるコンポーネントです。

今回のバージョンでは、ページ、パターン、テンプレートを管理するためのビューとその関連機能がコアに導入されています。

当面は、サイトエディターに以下のビューが導入されます。

  • 「テンプレート」>「すべてのテンプレートを管理」:テーブルレイアウトとグリッドレイアウト
  • 「パターン」>「すべてのテンプレートパーツを表示」:テーブルレイアウトとグリッドレイアウト
  • 「パターン」:グリッドレイアウト
  • 「固定ページ」>「すべてのページを管理」:テーブルレイアウトとグリッドレイアウト
テンプレートにグリッドレイアウトを設定
テンプレートにグリッドレイアウトを設定

レイアウトに加えて、フィルター、検索、ページネーション、ソート、フィールドの非表示および表示など、視覚化機能も追加されます。

テンプレートビューのフィールド設定
テンプレートビューのフィールド設定

データビューには、レイアウトのほかに、フィルタ、検索、ページネーション、ソート、フィールドの表示など、いくつかの視覚化機能があります。

Bulk edit(一括編集)」を選択すると、現在のデータセットに応じていくつかのアクションを一括実行できます。固定ページであれば、「Move to trash(ゴミ箱に移動)」「Restore(復元)」「Permanently delete(永久に削除)」の操作が可能です。

WordPress 6.5では固定ページを一括編集できる
WordPress 6.5では固定ページを一括編集できる

データビューには、画面に標準表示されるフィルターを追加するためのプライマリフィルターAPIが付属しています。以下のスクリーンショットは、パターン管理セクションの新しい「Sync Status(同期ステータス)」フィルターの例です。

パターンのSync Statusプライマリフィルター
パターンのSync Statusプライマリフィルター

データビューAPIは、npmパッケージ@wordpress/dataviewsとともに提供されるため、開発者はデータビューを試すことができます。

Block Bindings API

Block Bindings APIは、ブロック属性を異なるデータソースからの値に接続することを目的としたAPIです。これらの値はコンテキストによって異なることがあります(post_authorの値によって変わる投稿の作成者を含む見出しなど)。

このAPIの導入はコアブロックの機能を拡張してくれるため、特に見逃せない新機能です。あらゆるソースからの動的データをブロック属性に関連付けることができます。

この動的データには、サイトデータ、カスタムフィールド、ユーザーデータ、パターン、ショートコードなどのブロック、さらにはGutenbergを使った外部ツール(Drupalサイトなど)も該当します。

Block Bindings APIの仕組みは、技術的には以下3つのステップになります。

  1. bindingsオブジェクトを使用して、ブロック属性とデータソース間の接続を作成
  2. APIが接続で定義されたデータソースから値を取得
  3. データソースから受け取った値を使ってブロックのHTMLを更新

WordPress 6.5に導入されるBlock Bindings APIの最初の実装では、ブロック属性とカスタムフィールドを接続することができます。2番目の実装として当初発表されていたSynced Patterns Overridesは、次回以降のリリースに延期されています。

今回のリリースでは見出し、段落、画像、ボタンなどの一部のブロックのみでのサポートとなりますが、将来的にはより多くのブロック、カスタムブロックでサポートされる予定です。

また、プラグイン開発者は、Gutenbergがcore/post-metaデータソースを登録するのと同じ方法でソースを登録できるように。以下は、Santos Guillamot氏の例を参考にしたプラグインのデータソースの登録方法です。

register_block_bindings_source(
	'myplugin/plugin-data',
	array(
		'label'              => _x( 'Plugin Data', 'block bindings source' ),
		'get_value_callback' => 'myplugin_block_bindings_post_meta_callback',
	)
);

bindingsオブジェクトを追加します。

<!-- wp:paragraph 
{
	"metadata": {
		"bindings": {
			"content": {
				"source": "myplugin/plugin-data",
				"args": {
					"key":"plugin_key"
				}
			}
		}
	}
}
-->
<p>Paragraph</p>
<!-- /wp:paragraph -->

各プロパティの詳細は、それぞれ以下のとおり。

  • metadata:ブロックメタデータのオブジェクト
  • bindings:1つ以上のバインディングを含むオブジェクト
  • content:データソースにバインドするブロック属性(上の例では、段落ブロックのcontent
  • source:バインディングソース
  • args:ブロックのバインディングソースに渡す引数のオブジェクト

今後、Block Bindings APIの機能はさらに強化されていく予定です。さらに、ビジュアルエディターから接続を作成したり、ブロック属性をサイトデータやタクソノミーデータなどのデータソースと関連付けたり、より多くのブロックでサポートされるようになる日もそう遠くはなさそうです。

今回登場するBlock Bindings APIの機能について、もう少し掘り下げます。

カスタムフィールドをブロックに接続する

WordPress 6.5以前は、カスタムフィールドの値をコアブロックのコンテンツに注入する方法がなく、カスタムブロックを作成するには、フロントエンドにカスタムフィールドを表示する必要がありました。

WordPress 6.5では、ボタン、ヘッダー、画像、段落などのコアブロック内にカスタムフィールドに格納されたデータを表示できます。

先に触れたとおり、Block Bindings APIを使用すると、ブロック属性とmeta_fieldsソースを含むさまざまなデータソースを接続することができます。使用するには、まずエディターで「オプション」(画面右上の3つの点)>「設定」>「一般」の「Advanced(詳細設定)」セクションにある「Custom fields(カスタムフィールド)」を有効にします。

投稿エディターの設定ウィンドウ
投稿エディターの設定ウィンドウ

注意点として、WordPress 6.5では、カスタムフィールドの値をブロック属性に関連付けるための専用のインターフェースはありません。

そのため、カスタムフィールドのキーと値を追加したら、コードエディターに切り替えて、以下のようにブロック区切り内にbindingsオブジェクトを追加する必要があります。

<!-- wp:paragraph 
	{
		"metadata": {
			"bindings": {
				"content": {
					"source":"core/post-meta",
					"args": {
						"key":"my_custom_field"
					}
				}
			}
		}
	} -->
	<p>Paragraph</p>
<!-- /wp:paragraph -->

カスタムフィールドをブロックに追加すると、管理機能がロックされ、ブロックの内容は編集できなくなります。altsrc属性の2つのカスタムフィールドを追加します。

altとsrcの値を格納する2つのカスタムフィールド
altとsrcの値を格納する2つのカスタムフィールド

続いて、画像ブロックを追加したらコードエディターに切り替えて、以下のようにbindingsオブジェクトを追加します。

<!-- wp:image {
	"metadata":{
		"bindings":{
			"url":{
				"source":"core/post-meta",
				"args":{
					"key":"img_src"
				}
			},
			"alt":{
				"source":"core/post-meta",
				"args":{
					"key":"img_alt"
				}
			}
		}
	}
}
-->
<figure class="wp-block-image"><img src="" alt="" /></figure>
<!-- /wp:image -->

これで、エディターで画像ソースを置き換えることができなくなります。

メディア管理が行えなくなった画像プレースホルダ
メディア管理が行えなくなった画像プレースホルダ

今回のWordPress 6.5の実装では、以下のブロック属性のみカスタムフィールドに接続可能です。

  • 段落:内容
  • 見出し:内容
  • 画像:URL、alt、タイトル
  • ボタン:テキスト、URL、linkTarget、rel

カスタムフィールドとブロック属性の接続に関する詳細はこちらをご覧ください。

リビジョンの改良

リビジョンは、以前のバージョンの外観を復元し、変更を取り消すことができる便利な機能です。複数のユーザーで管理・編集するようなサイトでは、信頼性の高いリビジョンシステムが重要になるため、WordPress開発の現在のフェーズでは鍵となります。WordPress 6.5では、このリビジョンにもくつか重要な改良が施されています。

変更内容の表示

WordPressの以前のバージョンでは、各リビジョンの日付、時刻、作成者のみが表示されていましたが、WordPress 6.5では、そのバージョンの簡単な概要などの詳細も表示されるようになります。

WordPress 6.5ではリビジョンの概要も表示される
WordPress 6.5ではリビジョンの概要も表示される

無制限のリビジョンとページネーション

以前はRest APIの制限により、サイドバーの1つのパネルで最大100のリビジョンまでしか表示することができませんでした。

Gutenberg 17.2で導入され、WordPress 6.5でコアに統合される2つのセレクタgetRevisionsgetRevisionによって、この制限がなくなります。さらに、既存のリビジョンを10件ずつのページに分けて閲覧することができます。

スタイルブックとの統合

もう一つの変更点として、スタイルブックでもリビジョンが表示されるようになります。現在のテンプレートに含まれていないパターンやブロックのスタイルに加えた変更も確認可能です。

スタイルブックでもリビジョンが表示されるように
スタイルブックでもリビジョンが表示されるように

テンプレートとテンプレートパーツのリビジョン

テンプレートとテンプレートパーツのリビジョンは、デザインプロジェクトの以前のバージョンに切り替えることもでき、ワークフローにさらなるセキュリティの層が追加されます。

Interactivity API

WordPress 6.5以前は、インタラクティブな固定ページを作成するには、JavaScriptライブラリを実装する必要がありました。これには、フロントエンドのJavaScript開発における一貫性の欠如につながる可能性があるという懸念点も。

WordPress 6.5では、Interactivity APIがサイトのフロントエンドをインタラクティブにする新たな方法を提供してくれます。

この新APIの機能は、WordPress 6.4で、画像、検索、ファイル、ナビゲーション、クエリのコアブロックがプライベートバージョンのAPIを使用してリファクタリングされており、画像のライトボックス機能が好例です。

動的なページネーション、インスタント検索、ブロック間のリアルタイムなインタラクションなどは、Interactivity APIで実現できる機能のごく一部です(以下原文の日本語訳)。

ブロック間でデータ、アクション、コールバックの共有が可能。これにより、ブロック間のコミュニケーションがよりシンプルになり、エラーの発生も少なくなる。例えば、『カートに追加』ブロックをクリックすると、別の『お買い物カゴ』ブロックをシームレスに更新できる

そして驚くほど高速です。インタラクティブ性の追加必要なスクリプトは、ページに少なくとも1つのインタラクティブなブロックがある場合にのみ、フロントエンドに読み込まれます。

Interactivity APIにより、カスタムHTML属性の性能を活かし、インタラクティブな固定ページの作成に必要なJavaScriptの量を減らすフロントエンド開発への新たなアプローチが実現されます。

HTMXやAlpine.jsのようなフロントエンドライブラリに慣れている方にとっては、Interactivity APIで同じロジックがWordPressに実装されるのは嬉しい改善でしょう。Interactivity APIについて、もう少し詳しくご説明していきます。

Interactivity APIの機能

Interactivity APIは、インタラクティブなブロックを作成するための標準ディレクティブシステム。インスタント検索、コメントの追加、カートへの追加、動的なページネーションなど、ブロックのフロントエンドにインタラクティブ性を加えることができます。

Interactivity APIには、最新の開発ツールらしい以下のような特徴があります。

  • サーバーサイドレンダリングクライアントサイドの動的なHTML更新をサポート
  • PHPや現在のブロックシステムとスムーズに連動
  • WordPressのフックや既存のJavaScriptライブラリと下位互換性あり
  • 命令的アプローチではなく、宣言的アプローチを採用
  • 優れたパフォーマンスと拡張性
  • 各ディレクティブがDOM(Document Object Model)を小さな単位で制御し、ディレクティブを組み合わせて複雑なアプリケーションを構築可能
  • 既存のWordPress開発ツールと互換性あり

Interactivity APIは、ディレクティブに基づいています。ディレクティブは、DOM要素に特定の動作を付加できる特別なHTML属性。インタラクティブなブロックの例を見てみます。

<div
	<?php echo get_block_wrapper_attributes(); ?>
	data-wp-interactive='{ "namespace": "create-block" }'
	data-wp-context='{ "isOpen": false }'
	data-wp-watch="callbacks.logIsOpen"
>
	<button
		data-wp-on--click="actions.toggle"
		data-wp-bind--aria-expanded="context.isOpen"
		aria-controls="<?php echo esc_attr( $unique_id ); ?>"
	>
		<?php esc_html_e( 'Toggle', 'inter-block' ); ?>
	</button>

	<p
		id="<?php echo esc_attr( $unique_id ); ?>"
		data-wp-bind--hidden="!context.isOpen"
	>
		<?php
			esc_html_e( 'Inter Block - hello from an interactive block!', 'inter-block' );
		?>
	</p>
</div>

WordPressがこれらのディレクティブをサーバー上で処理し、対応するマークアップを生成します。

Interactivity APIの使用方法

Interactivity APIの実装は、ブロック作成のワークフローには影響しません。@wordpress/create-blockコマンドと特定のインタラクティブテンプレートを使用して、インタラクティブなブロックを登録するプラグインを雛形にすることができます。

任意のコマンドラインツールを起動し、pluginsディレクトリに移動して、以下のコマンドを実行します。

npx @wordpress/create-block@latest my-interactive-block --template @wordpress/create-block-interactive-template

これにより、メタデータフィールドviewScriptModuleを使用するテンプレートからインタラクティブなブロックが生成されます。viewScriptModuleで宣言されたスクリプトモジュールは、フロントエンドでブロックがレンダリングされるときにエンキューされます。viewScriptModuleおよびスクリプトモジュールの開発者ノートも参照してみてください。

Visual Studio Codeのインタラクティブなブロック
Visual Studio Codeのインタラクティブなブロック

インストールが完了すると、WordPress管理画面にプラグインが表示されます。有効にしてからコマンドラインに戻り、プラグインのディレクトリに移動して開始します。

cd my-interactive-block && npm start

投稿か固定ページを新規作成して、ブロックインサーターを開きます。ウィジェットセクションまでスクロールすると、「My Interactive Block」というブロックが見つかるはず。これをテンプレートとして、インタラクティブなブロックを作成していきます。

インタラクティブなブロックを開発できる
インタラクティブなブロックを開発できる

ブロックをコンテンツに追加して、投稿を保存すると、投稿プレビューにダミーテキストを隠すまたは表示するトグルが現れます。これで、インタラクティブなブロックを作り始めることができます。

Interactivity APIを使用したインタラクティブなブロックの作成方法については、WordPressの公式ブログやGitHubのドキュメントInteractivity APIの開発者ノートでも紹介されています。

また、wpmovies.devでは、Interactivity APIの使用例を見ることができます。

新たなデザインツール

WordPress 6.5には、カスタムCSSコードなしでデザインをカスタマイズできる新たなデザインツールも導入されています。

グループブロックの背景画像サイズの調整と繰り返し

まず、グループブロックで背景画像のサイズ調整と繰り返しがサポートされるように。同じ縦横比を維持したまま、背景画像を均等に表示するなどの設定を行うことができます。

グループブロックの背景画像サイズを制御
グループブロックの背景画像サイズを制御

また、背景サイズを「Fixed(固定)」にすると、「Repeat Image(画像の繰り返し)」トグルスイッチが出現し、背景の繰り返しの有無を設定できます。

カバーブロックのアスペクト比

カバーブロックがアスペクト比に対応しました。アスペクト比は、グローバルスタイルのインターフェースから全体で管理することも、コンテンツ内で個別に調整することも可能です。

カバーブロックのアスペクト比を管理
カバーブロックのアスペクト比を管理

さらに多くのブロックで影をサポート

これまでは、ボタンブロックでのみ影を使用することができましたが、WordPress 5.6では、カラムと画像ブロックでも影がサポートされます。

影は、各ブロック設定のスタイルタブから追加可能です。

画像ブロックでも影を使用できるように
画像ブロックでも影を使用できるように

サイトエディターの改良

サイトエディターにもいくつか改善が施され、編集体験とワークフローが大きく改善されそうです。

リストビューの強化

リストビューは、デザインワークフローの中核となる要素。WordPress 6.5ではさらにこの機能が強化されています。

まず、リストビューを右クリックしてブロック設定のドロップダウンにアクセスできるように。ちょっとしたことですが、リストビューからのブロック設定により素早くアクセスできるため、作業が捗ります。

また、以下のブロックを除くほぼすべてのブロックの名前を変更できるようになっています。

  • core/block
  • core/template-part
  • core/pattern
  • core/navigation

さらに、リストビューでもキーボードショートカットがサポートされます。WindowsではCTRL + A、MacではCMD + Aで、リストビューのすべてのブロックを選択でき、簡単に一括操作を行うことができます。

パターンの複製と名前の変更

これまでは、テーマが提供するパターンは編集できず、独自のパターンを作成したり、パターン内の何かを変更したりすることも不可能でした。WordPress 6.5では、パターンの複製と名前の変更が可能になり、同期の設定を変更したり、必要に応じてパターンを修正したりすることができる、細かいながらも画期的な機能が導入されます。

パターンの名前の変更と削除が可能に
パターンの名前の変更と削除が可能に

さらに、音声と動画のパターンカテゴリーが新たに追加されます。

WordPress 6.5のパターンカテゴリーパネル
WordPress 6.5のパターンカテゴリーパネル

設定パネルの強化

WordPress 6.5では、設定パネルが更新され、既存の設定が再編成されます。主な変更点は以下のとおり。

  • 外観」と「アクセシビリティ」タブの導入
  • 外観」タブの「トップツールバー」設定

トップツールバー」を有効にすると、すべてのブロックツールとドキュメントツールがエディター上部に1列で表示されます。

トップツールバー有効後のインターフェース
トップツールバー有効後のインターフェース

集中執筆モードのブロックツールバー

WordPress 6.5以前では、集中執筆モードを選択すると、ブロックツールバーにアクセスすることができず、変更を行う際にはモードの切り替えが必要でした。WordPress 6.5からは、エディターの上部エリアにカーソルを移動すると、カスタマイズ用のブロックツールバーが表示されるように。

集中執筆モードでもブロックツールバーが表示されるように
集中執筆モードでもブロックツールバーが表示されるように

LinkControlコンポーネントの改善

LinkControlが改良され、リンクの追加が簡単になりました。編集するリンクをクリックすると、以下のようなパネルが表示されるようになります。

WordPress 6.5でリンクをクリックすると表示されるパネル
WordPress 6.5でリンクをクリックすると表示されるパネル

LinkControlコンポーネントの変更点についてはこちらをご覧ください。

ドラッグ&ドロップ操作の改善

ドラッグ&ドロップ操作も一部領域で以下のような改善が施されています。

リストビュー

  • 折りたたまれたブロックにブロックをドロップすると、折りたたまれたブロックが展開される
  • 要素をドラッグしている間にドラッグカーソルが表示される

エディターキャンバス内

  • コンテンツの最初や最後に要素をドラッグ&ドロップできるように
  • 兄弟要素のコンテナブロック間のドラッグ&ドロップが改善
  • テンプレートパーツ内のブロックをドラッグできるように
  • ブロックがドラッグできない場合、その旨が視覚的に表示される
  • 要素をドキュメントの先頭または末尾にドラッグ&ドロップできるように
  • 他のブロックの周辺にブロックをドラッグ&ドロップするだけで、行やギャラリーを作成可能(例えば、画像の隣に別の画像を追加すると、既存の画像ブロックがギャラリーブロックに変換される)
画像ブロックの近くに画像をドラッグ&ドロップ
画像ブロックの近くに画像をドラッグ&ドロップ
画像をドラッグ&ドロップすると画像ブロックがギャラリーブロックに変換される
画像をドラッグ&ドロップすると画像ブロックがギャラリーブロックに変換される

ドラッグ&ドロップ操作に関する改善点の詳細はこちらをご覧ください。

その他の改善と変更点

ここからは、細かな変更点と新機能をざっと見ていきます。

クラシックテーマ向け外観ツール

クラシックテーマでも、theme.jsonなしで、サイトエディターに導入されたデザイン機能の一部を使用できます。WordPress 6.5で、appearanceToolテーマサポートには、以下のデザイン機能が組み込まれています。

  • 余白
  • タイポグラフィ

これにより、クラシックテーマユーザーもサイトエディターの機能をプレビューすることができ、クラシックテーマからブロックテーマへの移行が効率化されます。

Twenty Twenty-Oneテーマを使用したWordPress 6.5の外観ツール
Twenty Twenty-Oneテーマを使用したWordPress 6.5の外観ツール

AVIFのサポート

WordPress 6.5では、高い圧縮率で優れた画質を実現するる高度な圧縮アルゴリズム、AVIFの画像形式もサポートされます。AVIFは、WebPを含む従来の画像形式と比較してより軽量です。

他の画像形式と同じように、WordPressのメディアライブラリでAVIFファイルをシームレスにアップロードできます。ただし、お使いのホスティングプラットフォームがAVIFをサポートしているかどうかの確認は必要です。

AVIFのブラウザサポート(出典:Can I Use)
AVIFのブラウザサポート(出典:Can I Use

お使いのホスティングでAVIFがサポートされているかどうかは、WordPress管理画面の「サイトヘルス」ページ「情報」タブの「メディア処理」を展開して確認できます。

プラグインの依存関係の管理

プラグインの中には、拡張機能として他のプラグインの機能を強化するものがあります。このような依存関係にあるプラグインを動作させるには、まず必須となるプラグイン(下のスクリーンショットの例ではGutenberg)をインストールし有効化しなければなりません。

WordPress 6.5からは、プラグイン開発者は「Requires」プラグインヘッダーに、必要になるWordPress.orgプラグインリポジトリ内のプラグインを、カンマで区切ったスラッグのリストで指定することができます。

これにより、WordPress.orgプラグインリポジトリへのリンクとともに、必須プラグインをインストールして有効にするための情報を取得できるように。

また、必要になるプラグインにもまた、「Required by」ヘッダーに依存関係にあるプラグインの情報(以下のスクリーンショットの例ではFont Library customizations)が表示されます。また、必須プラグイン(Gutenberg)は、必須プラグインを持つプラグイン(Font Library customizations)を削除しない限り、削除できません。

WordPress 6.5ではプラグインの依存関係の管理が効率化される
WordPress 6.5ではプラグインの依存関係の管理が効率化される

また、依存スラッグをプログラムでフィルタリングできるwp_plugin_dependencies_slugフィルターも新たに導入されました。

プラグインの依存関係に関する詳細はこちらをご覧ください。

HTML APIの更新

WordPress 6.5では、HTMLタグプロセッサーも改良されています。タグやタグ以外のトークン、コメント、DOCTYPE宣言、テキストノードなど、あらゆる構文トークンをスキャンするようになりました。

これにより、ドキュメントの構造に影響を与えることなく、ドキュメント内の特定の部分のテキストを変更できるように。この部分はHTMLのタグや特定の構文で区切られており、それらの境界を通じてテキストが識別されます(修正可能テキストと呼ばれる)。

修正可能テキストとは、テキストノードの内容全体、HTMLコメントの内容、scriptstyle要素のような特別な要素の開始タグと終了タグの間の内容です。

また、数多くのメソッドも導入されています。

  • next_token():ドキュメント内の次のトークンに移動
  • get_token_type():検出されたトークンのタイプを取得
  • get_token_name():トークンの名前を取得
  • get_modifiable_text():与えられたトークンを適切にデコードしたテキストを返す
  • get_comment_type():コメントの種類を取得
  • paused_at_incomplete_token():タグプロセッサーがトークンの途中で切り捨てられたドキュメントの末尾に到達した場合にtrueを返す

HTML APIに関する改善点の詳細はこちらをご覧ください。

サイトと投稿エディターの統一

エディターのUIと動作の統一を目的とした改善も行われています。

いくつかのサイドバーパネルは、edit-postパッケージから@wordpress/editorパッケージに移動しており、対応する機能がサイトエディターに搭載されています。

  • ページ属性(PR #57151参照)
  • 投稿タクソノミー(PR #57049参照)
  • サイトエディターに投稿タイプの表示リンクを追加(PR #57153参照)
  • サイトエディターのサイドバーにディスカッションパネルを追加(PR #57150参照)
  • アイキャッチ画像パネルを追加(PR #57053参照)
  • サイトエディターにリビジョンパネルを追加(PR #57010参照)

また、サイトエディターで以前から可能だった、投稿エディターでページを編集する際のテンプレートのプレビューも行えるように。

パフォーマンス強化

110以上のパフォーマンス強化により、投稿エディターとサイトエディターのどちらも速度と効率が大幅に向上しています。読み込み時間は6.4より2倍高速になり、入力処理速度は4倍近くアップ。さらに、Performant Translations i18ライブラリの統合により、翻訳されたサイトのメモリ使用量と読み込み時間の負荷が軽減されます。

アクセシビリティの改良

65以上のアップデートがコアに統合され、フォーカス可能な要素のスタイリングコントラスト比カスタマイザーのメニュー項目の並び替えなど、管理画面全体のアクセシビリティが改善されています。

ブロックフックの更新

WordPress 6.4で導入されたブロックフックは、コンテンツに別のブロックを追加した際、自動的に特定の位置にブロックを配置することができる機能です。

これまではテンプレート、テンプレートパーツ、ユーザーによる変更がないパターンで利用可能でしたが、今回からレイアウトを変更した場合にも使用できるようになっています。

WordPress 6.5以前は、フック付きのブロックはナビゲーションブロックの前後にしか追加することができませんでしたが、ナビゲーションブロックの最初か最後の子要素として追加できるようになっています。

さらに、hooked_blockhooked_block_{$hooked_block_type}フィルターも導入されています。

ブロックフックの更新に関する詳しい情報はこちらをご覧ください。

まとめ

今回リリースされたWordPress 6.5には、サイト構築やコンテンツ作成に役立つ嬉しい変更が満載です。

新たに導入されるフォントライブラリでは、メディアライブラリでメディアを管理する要領でフォントを管理でき、タイポグラフィをより柔軟に管理できます。また、データビューを使用すると、さまざまなレイアウト、フィルタ、検索オプションを使ってデータセットをレンダリングし、全体的なエクスペリエンスを向上させることが可能です。そして、Block Bindings APIとInteractivity APIを活用することで、より動的でパーソナライズされたユーザー体験を提供できます。

WordPress 6.5で開発体験が劇的に改善されること間違いなしです。

すでに開発環境でWordPress 6.5のベータ版をお試しですか?お気に入りの機能があれば、ぜひ以下のコメント欄でお聞かせください。

Carlo Daniele Kinsta

Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.