WordPress 5.3「カーク」は2019年11月12日に正式にリリースされ、現在ダウンロード可能です。

WordPress 5.3にはどのような違いが導入されたのでしょうか?

何よりもまず、5.4から6.6、途方もない数のGutenberg(グーテンベルク)プラグインのリリースが、コアにマージされました。これは、ユーザーと開発者の両方にとって膨大な数の機能と拡張の追加、そして、パフォーマンスの大きな向上を意味します。

しかし、WordPress 5.3にはグーテンベルク以上のものが盛りだくさん。このリリースは、サイトヘルスツール新しいデフォルトテーマ(TwentyTwenty) に関連するいくつもの改善、管理ユーザーインターフェースの強化、PHP 7.4サポートの改善、アクセシビリティの改善などを特徴としています。

素敵な進化が目白押しです。それでは、WordPress 5.3の魅力に迫りましょう。

ブロックエディタの変化

リリース以来、ブロックエディタは世界中のコントリビュータの尽力により定期的に改善されてきました。ただし、新しいリリースが利用可能になっても、すぐにコアにマージされるわけではありません。

そんな中で、5.3では、 グーテンベルクプラグインの13のリリースが一度に、コアにマージされました。そのため、これまでグーテンベルクプラグインを使用しておらず、長期にわたって定期的な更新を怠っている場合には、WordPress 5.3のリリースにより、ブロックエディタに多くの機能強化と新機能が追加されることになります。

全体的なパフォーマンスの改善も報告されています。次のベンチマークは、ボリュームの大きな投稿(36,000文字/1,000ブロック)のパフォーマンスをグーテンベルクプラグインのさまざまなバージョンで比較しています。

通常の投稿では読み込み時間の違いに気付かないかもしれませんが、エディタのパフォーマンスが全般的に改善されていることは明らかです。

Version Loading Time KeyPress event (typing)
Gutenberg 6.6.0 4.7s 38.96ms
Gutenberg 6.5.0 4.68s 42.96ms
WordPress 5.2 5.69s 57.65ms

すべての追加、変更、バグの修正を網羅した完全なリストを作成するのは難しいため、ユーザー/開発者のエクスペリエンスに最も大きな影響を与えるものを厳選し、次のようにグループ化しました。

編集における改善

グーテンベルクプラグインを以前にインストールしたことがない場合は新しい発見となる、グループブロックがあります。 Gutenberg 5.5のリリースでエディタに追加されたグループブロックは、他のブロックの汎用コンテナであり、 WordPressサイトの任意のページに組み込める高度なブロックテンプレートが作成できます。

グループブロックは、幅広い配置・背景色のオプションをサポートしているため、WordPressユーザーのコンテンツ作成における十分な自由度が保証されます。

グループブロックの他にも、ブロックエディタの10の改善点をご紹介します。この全てが、エディタの使い心地に大きな影響を与えるはずです。

1. ブロックアペンダー

グループブロックとカラムブロックの空白のエリアに、ブロックアペンダーが表示されるようになりました。アペンダーは、シンプルなプラスの記号のある灰色の領域ですが、UIをより明確にし、ブロックの使いやすさが向上します。

Group block in WordPress 5.3
An empty Group block in WordPress 5.3

2. 複数のグループを一括でグループ化

グループ化で、グループブロックを作成できるようになりました。複数のブロックを選択し、数回クリックするだけでグループ化できます。必要なすべてのブロックを選択し、メニューの「グループ」をクリックするだけで完了です!

グループ化でブロックを作成
グループ化でブロックを作成

3. カラムの横幅を自由に設定

カラムブロックのブロック設定でスライドによるコントロールが可能になりました。これにより、自由に各カラムの幅を設定できます(将来のリリースでは、ドラッグによるサイズコントロールの導入により、カラムブロックのさらなる改善が期待されるかもしれません)。

WordPress 5.3のカラムブロッsク
WordPress 5.3のカラムブロッsク

4. カラムブロックのレイアウト選択

WordPress 5.3のカラムブロックにおける改善点として、レイアウトオプションの選択は無視できません。グーテンベルク6.0でエディタに追加されたこの機能により、作成済みのレイアウト(パターン)から選択するか、デフォルトのレイアウトに「スキップ」して、編集プロセスを開始できます。作業がスピードアップし、技術に詳しくないユーザーでもブロックが使いやすくなりました。

カラムブロックでのレイアウト選択
カラムブロックでのレイアウト選択

レイアウトピッカーはブロックパターンAPIの実装であり、ブロックを追加するときに選択できる定義済みの選択肢です。カラムブロックとは別に、テーブルブロックとカバーブロックにもブロックパターンがあります。詳細については、GitHubのブロックパターンAPIをご覧ください。

カバーブロックのパターン
カバーブロックのパターン

5. テーブルブロックの改良

テーブルブロックは、いくつもの新機能で強化されています。テキストの配置、表のヘッダーとフッター、背景色に対応するようになりました。

新しいテーブルブロックは、テキストの配置、ヘッダーとフッター、背景色をサポート
新しいテーブルブロックは、テキストの配置、ヘッダーとフッター、背景色をサポート

6. ブロックナビゲーションモード

グーテンベルク6.3では、ブロックコンテンツに移動せずに Tab キーまたは矢印キーを使用してブロック間を移動できるナビゲーションモードが導入されました。Enter キーまたは  Esc キーを押すだけで、ナビゲーションモードから編集モードに切り替えることができます。この機能は大幅な使いやすさ向上に貢献しています。

7. ブロックの変更に伴う「動き」の追加

変更、作成、削除、並べ替えの際の「動き」の導入により、使いやすさが向上しました。 Matías Ventura氏がこの機能について説明しています。

複数のアイテムを内包したリストの場合を考えてみましょう。移動、並べ替えなどのアクションは、操作対象の単一のアイテムだけでなく、残りの部分—特に「置換される部分」にも影響を与えるものです。つまり、何かを別の場所に置くためには、両方が動く必要があるのです。グループ全体の変化は、すぐに順序を変更するだけでは把握しにくい場合があり、それを理解するには、ある程度の時間がかかります。トランジションとジェスチャーベースのインタラクションは、一般に、インタラクション(「今起こったこと」)を素早く理解しながら、これら2つの状態を接続するのに役立ちます。

Block motion
Block motion

8. ギャラリーブロックのインラインでの画像並び替え

ギャラリーブロックに、インラインでの画像並べ替え機能が搭載されました。メディアモーダル画面を開かずに、「画像を前に移動」ボタンと「画像を後ろに移動」ボタンをクリックするだけで、ギャラリーの画像を並べ替えることができます。

ギャラリーブロックの改善
ギャラリーブロックの改善

9. 最新の記事ウィジェットの改善

最新の投稿ブロックで、投稿内容の抜粋と繰り返しができるようになりました(PR #14627参照)。

最新の投稿ウィジェットが、抜粋と投稿コンテンツをサポート
最新の投稿ウィジェットが、抜粋と投稿コンテンツをサポート

ブロック設定パネルに、ユーザーが投稿コンテンツのオン/オフを切り替えることができるセクションが追加されました。「投稿コンテンツ」がオンの時、「Excerpt(抜粋)」または「Full Post(投稿全文)」から選択できます。「Excerpt(抜粋)」を選んだ場合、スライダーで「抜粋の最大文字数」を制御できます。

この文字数制御についての変更は、全体的なUI強化に焦点を当てた広範な戦略の一環として導入されています。「最新の投稿」ブロックにおける繰り返し機能について、Mel Choyce氏は次のように述べています。

グーテンベルクのページテンプレートの準備として、投稿またはページにドロップできる堅牢な動的ブロックが必要になります。このブロックを拡張することで、より複雑かつ動的ブロックまたはグローバルブロックに今後取り組むことができるようになります。

ユーザーは、カスタムクエリの作成方法を学んだり、ホームページに投稿を追加するためにループを理解したりする必要はありません。最新の投稿ブロックは素晴らしいスタートですが、完全に機能するソリューションであるためには、タイトルと投稿日以上のものをサポートする必要があります。

10. リストブロックの強化

リストブロックに、インデント(そしてインデントを戻す)ショートカット、「初期値」の設定、「リストの数字を逆順にする」機能が搭載されました。

— リストブロックの番号付きリストの設定
— リストブロックの番号付きリストの設定

ブロックエディタへの追加の改善

グーテンベルクプラグインの多数のバージョンがコアに統合されたため、ここで扱いきれないほど多くの変更、改善、バグ修正があります。いくつかの追加の機能強化と新機能を以下にご紹介します。

テーマ開発者、デザイナー向けの興味深い機能

WordPress 5.3では、テーマ開発者やデザイナー向けに、ブロックエディタに多くの機能と改善が追加されています。

3つの主な変更点はブロックのCSSとHTMLにおけるもので、テーマデザイナーに関係しています。

1. Group Block Inner Container

グループブロック内に、インナーコンテナwp-block-group__inner-container)が含まれるようになりました。慎重に設計しないとメインブロックコンテナを超えて飛び出してしまう可能性があり、これにより、ページの外観に予期しない影響が生じることもあるでしょう。

グループブロック内のインナーコンテナ
グループブロック内のインナーコンテナ

つまり、ワイド、フルレイアウトスタイルのテーマでは、ブロックコンテナが計画どおりに表示されるように追加のCSSが必要になる場合があります。

ループブロック内のインナーコンテナをフロントサイトで確認
ループブロック内のインナーコンテナをフロントサイトで確認

このような問題を防ぐためにブロックをスタイリングする方法を示した「Make WordPress Coreブログ」の例を次に示します。

// Apply entry-content styles to the group block's inner container as well. 
.entry-content,
.wp-block-group__inner-container {
	width: 60vw;
	margin: 0 auto;
}
 
// When a group block has a wide alignment, make sure that its full-width children do not extend beyond the width of the container. 
.alignwide,
.wp-block-group.alignwide .alignfull {
	margin-left: -10vw;
	width: 80vw;
}
 
.alignfull {
	margin-left: -20vw;
	width: 100vw;
}
 
// Ensure wide and full-width children do not extend beyond the width of a standard-aligned Group block.
.wp-block-group:not(.alignwide):not(.alignfull) * {
	max-width: 100%;
	margin-left: 0;
}

2. テキスト配置に使える新しいクラス名

WordPress 5.3より前のバージョンでは、インラインスタイルを使用してテキストブロック(見出し、段落、引用、詩)の配置を変更していました。

インラインスタイルの高い特異性により、これらのブロックの外観をカスタマイズするのが難しくなる可能性がありますが、テーマデザイナーは今後、インラインスタイルを置き換える3つの新しいCSSクラスを利用できます。

  • has-text-align-right
  • has-text-align-center
  • has-text-align-left

既存のブロックは自動的に変換され、ブロックエディタで投稿を開き、保存するとすぐにクラスが適用されます。

3. ギャラリーブロックとテーブルブロックのマークアップアップデート

Gallery and Table blocks are now wrapped in figure elements. Element styles change accordingly and themes could be affected and may require an update. Here is the new markup for a Table block:

<figure class="wp-block-table is-style-stripes">
	<table class="">
		<tbody>
			<tr>
				<td>Left</td>
				<td>Center</td>
				<td>Right</td>
			</tr>
		</tbody>
	</table>
</figure>

 

クラス名の詳細およびテーマ関連のその他の変更については、Make WordPress Coreブログをご参照ください。

ブロック開発者向けの機能

WordPress 5.3で、ブロックAPIに変更と改善がもたらされています。

1. ブロックスタイルの登録と解除

5.3以前では、開発者とデザイナーはスタイルを登録/解除するためにJavaScriptを記述する必要がありました。

WordPress 5.3のリリースにより、PHPを介してブロックスタイルを登録、解除できる2つの新しいヘルパー関数が利用できるようになりました。その2つとは register_block_styleunregister_block_style です。

register_block_style 関数は、指定されたブロックについて新しいスタイルを登録します。この関数には2つの引数があります。

  • ブロックの名前
  • スタイルプロパティの配列

配列には、以下のパラメーターが利用できます。

  • name: (必須) スタイルの一意の識別子
  • label: (必須) 人間が読むためのラベル
  • inline_style: (任意) スタイルのCSSクラスを登録するためのCSSコード
  • style_handle: (任意) すでに登録されているスタイルへのハンドル(スタイルハンドルが、必要な場所でスタイルをキューに入れる)

次のようなコードでインラインスタイルが登録できます。

add_action( 'init', 'register_custom_block_style' ); 

function register_custom_block_style() {
	if( ! function_exists( 'register_block_style' ) ) return;

	register_block_style(
		'core/quote',
		array(
			'name'			=> 'blue-quote',
			'label'			=> __( 'Blue Quote' ),
			'inline_style'	=> '.wp-block-quote.is-style-blue-quote { color: blue; }',
		)
	);
};

これで、新しいスタイルが「スタイル」設定セクションに表示されます。

ブロックエディタ内のカスタムスタイルを配した引用
ブロックエディタ内のカスタムスタイルを配した引用

インラインスタイルを登録する代わりに、以前に登録したスタイルにハンドルを渡すこともできます。

wp_register_style( 'custom-style', get_template_directory_uri() . '/custom-style.css' );
 
register_block_style(
	'core/quote',
	array(
		'name'			=> 'custom-quote',
		'label'			=> 'Custom Quote',
		'style_handle'	=> 'custom-style',
	)
);

以下の画像からは、上の例で登録した青の引用が表示されていることがわかります。

フロントエンドでのカスタムスタイルを配した引用
フロントエンドでのカスタムスタイルを配した引用

サーバーに register_block_style で登録したスタイルを解除するには、関数 unregister_block_style が使用できます。

unregister_block_style は以下のように利用できます。

unregister_block_style( 'core/quote', 'custom-quote' );

2. ブロックのExample API

WordPress 5.3には、(コンテンツに加える前に)ライブラリの選択したブロックをプレビューすることのできる、新しいJSプロパティが追加されました。

次のようにブロックの設定で  example プロパティを定義することにより、この機能のサポートを追加できます。

const blockSettings = {
	// ... 
 
	example: {
		attributes: { 
			content: __( 'Content of the block' )
		},
		innerBlocks: []
	} 
}
registerBlockType( name, settings );
ブロックのExample API
ブロックのExample API

サイトヘルスコンポーネントの改善

WordPress 5.2から、サイトヘルスツールが導入され、ウェブサイトの「健康」に関する情報が表示され、技術的な問題が発生したときにはサイト管理者がウェブサイトを復旧できるようになりました。さらにWordPress 5.3のリリースにより、サイトヘルスツールのコンポーネントに幾つもの改善と変更が施されています。

1. サイトヘルスのスコアの排除

WordPress 5.2では、サイトヘルスステータスページの上部にパーセンテージスコアが表示されていました。しかし、(ウェブサイトに本当に最適なものよりも100%のスコアを狙うことに専念してしまう可能性があり)スコアが混乱を招くとする声も上がりました(詳しくはこちらのチケットをご覧ください)。

サイトヘルスステータスページ—WordPress 5.2
サイトヘルスステータスページ—WordPress 5.2

このインジケータは、サイトがクリアしたテストの数を示しており、「健全性」を意味している訳ではありません。このため、この表示は削除され、サイトヘルスツールには、ウェブサイトのパフォーマンスとセキュリティの正確な指標よりもリマインダーに近いと考えられる2つの状態のいずれかが表示されるようになりました。

  • 改善が必要
  • 良好
サイトヘルスステータスページ—WordPress 5.3
サイトヘルスステータスページ—WordPress 5.3

2. 復旧メールの強化

障害が発生すると、WordPressはサイト管理者に復旧メールを送信しようとします。残念ながら、これらのメールはデバッグに役立つ情報を提供するものではなく、ウェブサイトで何か問題が発生したことが通知されるだけです。今までは、それだけでした。

そして、WordPressサイトの復元に役立つ情報を提供するために、WordPress 5.3では、デバッグ情報である recovery_email_debug_info フィルターが導入されています。復旧メールには、ウェブサイトのトラブルシューティングに役立つ、または少なくとも他の人からの助けを得るための基本情報が含まれています。

メールには、次の文字列で始まるセクションも含まれます。

When seeking help with this issue, you may be asked for some of the following information:

その下には、以下のような情報が続きます。

  • WordPressバージョン
  • PHPバージョン
  • 現在のテーマとバージョン
  • 問題を起こしているプラグインの名前とバージョン

エンドユーザーの混乱を避けるため、情報は意図的に最小限に抑えられていますが、開発者は必要に応じて、 recovery_email_debug_info フィルターを使用して詳細を追加できます(詳細については、チケット#48090を参照)。

3. フィルターで完全なサイトヘルスステータス情報をチェック

新しい site_status_test_result フィルターを使用すると、(開発者向け)終了したステータステストの出力をフィルター処理して、テストの結果を拡張できます。

開発者は、このフィルターを使用して追加のアクションを実行することもできます。好例を次に示します(チケット#47864を参照)。

例としてホスティングプロバイダーでしょうか。PHP拡張機能がないため、コントロールパネルPHP拡張機能マネージャーへのアクティブリンクの追加です。

直接的なものを望むことも、ユーザーに更新を推奨するようなPHPバージョンチェックを望むこともあるでしょう。その場でPHPバージョンを切り替えるajaxのボタンを追加することも考えられます。

このフィルターは、(直接テスト用の)PHPと、(非同期テスト用の)JavaScriptの両方で使用できます。

管理者の操作性の向上

サイトヘルスツールに加えて、WordPress 5.3では、いくつもの点で管理者UIが強化され、WordPressダッシュボード全体のユーザーエクスペリエンスが大幅に改善しています。

1. カラーコントラストの改善

色のコントラストが改善され、多くのアクセシビリティの問題が修正されました。

投稿画面--WordPress 5.2
投稿画面–WordPress 5.2
投稿画面--WordPress 5.3
投稿画面–WordPress 5.3

2. 管理者のメール認証

管理者が一定期間ログインしないと管理者のメール確認がトリガーされるようになりました。デフォルトでは、この間隔は6か月に設定されていますが、開発者は admin_email_check_interval フィルターを使用して別の間隔を設定できます(チケット#46349#48144を参照)。

WordPressの管理者メール確認
WordPressの管理者メール確認

管理者のメール確認を無効にするには、次のフィルターを使用できます。

add_filter( 'admin_email_check_interval', '__return_false' );

3. アップロードの再開

WordPressでアップロードが失敗した場合に後からでも再開できるようになったため、スマートフォンから大きな画像をアップロードしてもプロセスの途中で問題が発生することはありません。

4. 画像の回転

EXIFの向きのメタデータに従い、アップロード時に画像が正しく回転するようになりました。

新たなデフォルトテーマ:Twenty Twenty

WordPress 5.3には、新しいデフォルトテーマが付属しています。Twenty Twentyです。柔軟性、明快さ、読みやすさのために設計された最小限のテーマであり、ブロックエディタに重点を置いています。

WordPressテーマ「Twenty Twenty」
WordPressテーマ「Twenty Twenty」

Twenty Twentyは、コミュニティの既存の無料テーマAndérsNoren氏による「Chaplin」と、フリーかつオープンソースの個性の強い書体であるRasmus Andersson氏によるInterに基づいて構築されています

Twenty Twentyの詳細については、詳細な記事ご覧ください。新デフォルトテーマ「Twenty Twenty」のご紹介

WordPress開発者向けの変更点

WordPress 5.3には、WordPress開発者向けにいくつもの変更と改善が導入されています。多くの変更の中でも言及に値すると思われるものをピックアップしました。

日付/時刻のコアコンポーネントの改善

日付/時刻コアコンポーネントは、WordPressの日付、時刻、タイムゾーンに関するすべての項目を処理します。Andrey “Rarst” Savchenko氏の説明は以下の通りです。

日付/時刻コンポーネントは、いわゆる「WordPressタイムスタンプ」に依存していました。これは、Unixタイムスタンプとタイムゾーンオフセットの総計です。これにより、多くのバグが発生し、上流にあるPHPや外部システムとの相互運用性が欠如していました。またインラインドキュメンテーションでは、誤ってUnixタイムスタンプと呼んでいました。

下位互換性の問題なしにWordPressタイムスタンプを完全に削除することは不可能でしたが、コンポーネントコードは複数のバグの修正により改善され、インラインドキュメントは必要に応じ更新、修正されています。

さらに、WordPress 5.3のリリースでは、いくつもの新しいAPI日付/時刻関数が利用できます。

  • wp_timezone_string() – この関数は、サイトのタイムゾーンを文字列として取得します。PHPタイムゾーンの文字列または±HH:MMというオフセットを返すことができます。
  • wp_timezone() – この関数は、サイトのタイムゾーンをDateTimeZone オブジェクトとして取得します。
  • wp_date() – 日付のローカライズに利用できる新しい関数です。date_i18n()の代わりとなることを目的としています。
  • current_datetime() – この関数は、タイムゾーンと共に、設定からDateTimeImmutable オブジェクトとして現在の時刻を取得します。
  • get_post_datetime() – この関数は、投稿時間DateTimeImmutable オブジェクトを取得します。
  • get_post_timestamp() –投稿時刻をUnixタイムスタンプとして取得します。

これらの関数はすべて、wp-includes/functions.php  で定義および文書化されています。

現在、current_time()get_post_time()およびdate_i18n()の使用は推奨されません。

WordPress 5.3の日付/時刻コンポーネントの改善と、GitHubのAPIに追加する新しい関数もあわせてご参照ください。

新しいaria-current属性

新しいページまたは投稿が公開されると、その名前がいくつかのメニューやウィジェットに表示されます。WordPress 5.3以前では、多くのユーザーがそのリンクを認識しておらず、特に障がいを持つユーザーやスクリーンリーダー利用者にとっては混乱を招く可能性がありました。

WordPress 5.3のリリースでは、同じページへのリンクを示すために、新しい aria-current="page" 属性がプログラムで追加され、テーマ開発者はこのリンクに特定のスタイルを追加することが推奨されます。この変更は、次のコアウィジェットに影響を及ぼします。

  • 最新の投稿
  • ナビゲーションメニュー
  • 固定ページ
  • カテゴリー
  • アーカイブ

使用例は以下の通りです。

a[aria-current] {
	/* CSS styles for current link */
}

ナビゲーションメニューにおける新しいaria-label属性

ランドマークは、ウェブページの作りや構造を識別するための強力な手法」であり、テーマ開発者はランドマークの「role」を使用してウェブページにキーボードナビゲーションのサポートを追加することができます。

ARIAのランドマークは、ウェブコンテンツに意味付けをします。特に支援技術を利用するユーザーにとって有用です。

アクセシビリティのためのARIAランドマークの重要性により、WordPress 5.3では、投稿とコメントのナビゲーションに aria-label 属性のサポートが追加されています。

テーマ開発者やデザイナーは、投稿とコメントのナビゲーションメニューにARIAランドマークを追加し、以下の関数に新しい aria_label パラメーターを追加できます。

  • _navigation_markup()
  • get_the_post_navigation()
  • get_the_posts_navigation()
  • get_the_posts_pagination()
  • get_the_comments_navigation()
  • get_the_comments_pagination()
  • the_post_navigation()
  • the_posts_navigation()
  • the_posts_pagination()
  • the_comments_navigation()
  • the_comments_pagination()

詳細については、Make WordPress Coreの投稿とコメントのナビゲーションにおけるaria-label属性をご覧ください。

リンクのrel属性にUGCを追加する機能

2019年9月、Googleがリンクの性質を識別するための2つの新しい属性を発表しました。それが、 rel="sponsored" と  rel=“ugc” です。

rel=”ugc”:UGCは「User Generated Content(ユーザーが作成したコンテンツ」の略で、ugc属性値はコメントやフォーラムにおける投稿などのユーザーが投稿したコンテンツ内のリンクに推奨されます。

WordPress 5.3では、コメントにおける rel="ugc" 属性のサポートが追加されています。この変更はものの数時間で実装されており、開発チームによるGoogleの発表への迅速な反応の賜物です(チケット#48022を参照)。

さらに、WordPress 5.3には、開発者による、リンクの rel 属性への nofollowugc の追加を可能にする2つの新しい機能が導入されています。

  • wp_rel_callback()は、指定したリンクのrel属性に値を追加し、将来廃止予定のwp_rel_nofollow_callback()関数の代わりとなります。この関数はwp-includes/formatting.phpで定義されています。
    /**
    	 * Callback to add a rel attribute to HTML A element.
    	 *
    	 * Will remove already existing string before adding to prevent invalidating (X)HTML.
    	 *
    	 * @since 5.3.0
    	 *
    	 * @param array  $matches Single match.
    	 * @param string $rel     The rel attribute to add.
    	 * @return string HTML A element with the added rel attribute.
    	 */
    	function wp_rel_callback( $matches, $rel ) {}
  • wp_rel_ugc() は、リンクの rel 属性に nofollowugc の両方を追加します。関数は wp-includes/formatting.php で定義されています。
    /**
    		 * Adds `rel="nofollow ugc"` string to all HTML A elements in content.
    		 *
    		 * @since 5.3.0
    		 *
    		 * @param string $text Content that may contain HTML A elements.
    		 * @return string Converted content.
    		 */
    		function wp_rel_ugc( $text ) {
    			// This is a pre-save filter, so text is already escaped.
    			$text = stripslashes( $text );
    			$text = preg_replace_callback(
    				'||i',
    				function( $matches ) {
    					return wp_rel_callback( $matches, 'nofollow ugc' );
    				},
    				$text
    			);
    			return wp_slash( $text );
    		}

つまり、今後、開発者は次のようにリンクに rel="nofollow ugc" 属性を追加できます。

$link = 'User generated link example';
$ugc_link = wp_rel_ugc( $link );
echo $ugc_link;
// output: User generated link example

WordPress 5.3のREST API

WordPress 5.3では、REST APIにいくつかの変更と改善がもたらされました。

最も関連性の高い変更の1つは、object および array データ型の register_meta 関数 へのサポート開始です。

この強化により、REST APIは複雑なメタデータタイプをネイティブでサポートできるようになりました。これが、APIを使用したスキーマベースの検証を実現。コードと複雑な値の統合を簡素化します。最終的に開発者はREST APIを介して複雑なメタベースブロックを作成することができます。

このトピックの詳細は、WP 5.3でのREST APIのオブジェクトおよび配列メタタイプのサポートをご参照ください。

2番目の大幅な改善は、REST APIから返されるJSONオブジェクト内のフィールドを制限できる _fields パラメーターに影響を及ぼします。次の例をご覧ください。

/wp/v2/posts?_fields=id,title,author

WordPress 5.3以降_fields パラメーターを使用してネスト状態のフィールドでREST APIレスポンスオブジェクトをフィルター処理できるため、複雑なオブジェクト内の特定のメタフィールドまたはプロパティを要求できます。次のように _fields パラメーターを使用できます。

?_fields=meta.meta-key-1,meta.meta-key-2,meta.meta-key-3.nested-prop

WordPress 5.3に伴うREST APIの改善の包括的な情報については、WordPress 5.3のREST APIをご参照ください。

WordPress 5.3へのアップデート方法

WordPress 5.3は、20191112日にリリースされました。サイトの更新方法については、以下の手順をご覧ください。

なお、必ずKinstaの標準ステージング環境を利用してください(すでに標準ステージング環境を利用されている場合は、プレミアムステージング環境の追加が必要になります)。ライブサイトのクローンを数秒で作成し、既存のテーマとプラグインでWordPress 5.3をテストして互換性を確認できます。もちろん、安全のために、本番サイト更新前に手動バックアップを取ることもできます。

WordPressを5.3に更新するには、WordPress管理ダッシュボードの更新アイコンをクリックするだけでOKです。「今すぐ更新」ボタンをクリックします。サイトの更新中は、メンテナンスモードになりますが、更新が完了するとすぐに、サイトは通常に戻ります。

ダッシュボードでWordPress 5.2にアップデートする
ダッシュボードでWordPress 5.2にアップデートする

アップデートが完了すると「WordPress 5.3へようこそ」という画面が表示されます。以上です!素早くて簡単ですね。

WordPress 5.3のウェルカム画面
WordPress 5.3のウェルカム画面

ダッシュボード内をクリックすると、データベースを最新バージョンに更新するメッセージも表示されます。「WordPressデータベースの更新」ボタンをクリックするだけで準備完了です。

データベースの更新も必要
データベースの更新も必要

WordPressの更新に伴う問題のトラブルシューティング

WordPressのメジャーバージョンを更新するたびに、常に何かしらの問題が発生するものです。これは、市場に出回っている何千ものプラグインとテーマが原因です。一般的な問題のトラブルシューティングをいくつかご紹介します。

  • サイトがまだ部分的にキャッシュされている可能性があります。これを解決するには、WordPressサイトでページキャッシュ全体をクリアします。
  • すべてのプラグインを無効にしてみて、問題が解決するかどうか確認してください。次に、開発者による更新が必要なプラグインが見つかるまで、1つずつ再び有効化しましょう。
  • Twenty TwentyなどのデフォルトのWordPressテーマに切り替えてみてください。これで問題が解決する場合は、テーマ開発者に連絡してください。
  • ブラウザでトラブルシューティングとJavaScriptの問題の診断をすることもできます。

まとめ

以上、今回の記事では、WordPress 5.3の最も注目すべき機能と改善点をご紹介しました。

グーテンベルクプラグインの13のバージョンがコアにマージされ、サイトヘルスツールのいくつかの改善、真新しいデフォルトテーマ、管理インターフェースの改善、開発者とテーマデザイナー向けの新しい機能、PHP 7.4のより優れたサポート、そして信じられないほどの数の小さな変更、バグの修正、機能の廃止、CMSの進化に重要なマイルストーンが明らかになりました。

あなたのお気に入りの機能や改善点は何ですか?記事で触れておくべき重要な事柄が他にありますか?コメント欄で教えてください。

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.