WordPressは、誰でも簡単にテキストやマルチメディアのコンテンツを作成し、共有することができる強力なオンラインパブリッシングツールです。それどころか、デザイナー、マーケティング担当者、開発者に便利な万能ツールとすら言えるでしょう。
つまり、WordPressは有能な仕事仲間として、さまざまな職業での成功を後押ししてくれます。
このような背景から、Kinstaでは、WordPress開発者におすすめのスキル習得のコツを各種記事でご紹介しています。
また、Gutenbergカスタムブロックについての動画もご用意しています。
そして、たしかにGutenbergの開発スキルでキャリアアップを目指すことはできますが、WordPressサイトで高度なレイアウトを作成するのに、必ずしも開発者である必要はありません。
WordPressを使って、手間をかけずに高度なブロックレイアウトを簡単に作成することができます。今回の記事では、ブロックパターンに焦点を当てたいと思います。
ブロックパターンとは
ブロックパターンとは、構築済みブロックのグループで、コンテンツに追加したり、含まれるブロックと同じデザインツールを使って編集したりすることができます。
WordPress 5.5で初めて導入され、サイト管理者やコンテンツ制作者は、数回クリックするだけで、すぐに使える複雑なネスト構造のブロックをコンテンツに含めることができます。
ブロックテーマには通常、ブロックインサーターから直接コンテンツに追加できるブロックパターンがあります。WordPress 6.7のデフォルトテーマであるTwenty Twenty-Fiveには、70以上のブロックパターンが含まれています。
もちろん、テーマに付属するパターンに依存する必要はありません。
WordPress公式のブロックパターンディレクトリにも、使用可能なブロックパターンが多数あります。
また、Patterns APIやGutenbergの編集ツールを使ってパターンを自由に作成することも可能です。作成した独自のパターンは、サイトで使用したり、他のサイトにエクスポートしたり、パターンディレクトリで公開したりすることができます。
WordPress 6.3以降、まったく新しいパターンシステムにより、パターン作成プロセスがより柔軟になりました。どのようなレイアウトを構築しているのか、カスタマイズがサイト全体にどのような効果をもたらすのかがわかりやすくなっています。
ブロックパターンには、大きく以下2つの種類に分けられます。
- 同期ブロックパターン
- 標準(非同期)ブロックパターン
この2つの主な違いは、変更が適用される範囲にあります。前者に加えた変更は、サイト全体で使われるパターンすべてに適用されます。対照的に、後者の場合は、その特定のパターンのみに変更が適用されます。
ブロックパターンについては、まだまだ語るべき点が多数あります。以下、ブロックパターンの仕組みとWordPress最新バージョンで導入された編集機能の活用方法をご紹介していきます。
既存のブロックパターン
構築済みのパターンは、非同期ブロックパターンです。つまり、このブロックパターンに加えた変更は、編集中の特定のパターンにのみ適用され、サイト内の他の投稿や固定ページに追加している他のパターンには反映されません。
組み込まれたパターンを使って、画像やテキスト、スタイルを変更したり、要素を追加、削除したりしながら、その場でカスタマイズできるブロックレイアウトを含めることができます。
独自のブロックパターンを作成したら、サイト上の任意の場所に設置し、エディターに内蔵された機能を使って数回程度のクリックで編集可能です。

ディレクトリでパターンを検索し、気に入ったものがあれば、そのページ上部にある「Copy pattern(パターンをコピー)」をクリックして、コンテンツに貼り付けることができます。

パターンに含まれるブロックは、登録されているパターンやサイト上の他のパターンに影響を与えることなく、自由にカスタマイズできます。
同期/非同期ブロックパターン
前述したとおり、WordPress 6.3ではパターンシステムが整理され、一貫性が増しています。Gutenbergで直接カスタムパターンを作成し、コーディングなしでWordPress管理画面から管理できます。
作成可能なブロックパターンは、同期と非同期の2種類です。
開発者の視点では、カスタムブロックパターンはwp_block
カスタム投稿タイプとしてWordPressのデータベースに登録され、wp_pattern_sync_status
メタフィールドはパターンの同期ステータスを保存します。

wp_pattern_sync_status
メタフィールドは、ブロックパターンの同期ステータスを格納するために使用される最新のパターン管理システムにより、サイトや投稿エディターから直接、同期/非同期のブロックパターンを作成できるのはすでに触れた通り。ブロックレイアウトをデザインし、ブロックを選択して、ツールバーの3つの点をクリックして、「パターンを作成」をクリックします。
以下の例では、グループブロック、見出し、段落、ボタンから同期パターンを作成します。

「パターンを作成」をクリックすると、パターンの名前とカテゴリーを入力するプロンプトが表示されます。

以上で完了です。同期パターンは、サイトエディターの「パターン」セクションの「マイパターン」からアクセスできます。

ここではパターンをプレビューしたり、パターンの同期状態を確認したりすることができます。

その後、パターンエディターを起動し、ブロックパターンを編集することができます。

繰り返しになりますが、同期パターンに加える変更は、サイト内に追加したその他の同じパターンにも適用されます。非同期パターンは、変更を加えるパターンのみ変更されます。これは、この2つのパターンが異なる方法で処理されるためです。この違いを理解するには、カスタムパターンの非同期のコピーを作成し、新規投稿または固定ページを作成して、2つのパターンを追加します。これでコードエディターに切り替えてコードを確認してみましょう。

同期ブロックは以下のコードで生成されます。
<!-- wp:block {"ref":512} /-->
上のコードは、WordPressがID 512
の投稿を取得し、画面に表示するHTMLを生成します。2番目のブロックはIDで識別されません。コードエディターはパターンを構成するマークアップ全体を保持します。
同期パターンは、サイトの複数のページや他のサイトに含めたい要素を構築するのに特に便利になります。CTAやバナー広告、価格表などが好例です。
前述のとおり、WordPressはカスタムブロックパターンをwp_block
投稿タイプとみなし、wp_posts
テーブルに保存します。
パターンを作成したら、「パターン」メニューから管理することができます。以下のいずれかの方法でアクセス可能です。
- ウェブサイトのWordPress URLに「/wp-admin/edit.php?post_type=wp_block」を追加
- ブロックインサーターの「すべてのパターンを表示」をクリック
- サイトエディターの「マイパターン」を開く
このページでは、以下の操作を行うことができます。
- パターンを編集、ゴミ箱へ移動、またはJSONとしてエクスポート
- JSONからパターンをインポート
- 新規パターンを作成
またサイトエディターでは、パターンの複製や名前の変更もできます。
同期パターンの上書き
WordPress 6.6で導入された同期パターンの上書きは、Block Bindings APIを利用して両方の種類のパターンの特徴を兼ねた3つ目のパターンになります。
同期パターンの上書きは、サイト上のすべての場所で同じ構造を維持しながら、非同期パターンのように、パターンに含まれる特定のブロックの内容を変更することができます。「非同期の個々の要素を持つ同期パターン」といった感じになります。
同期パターンの上書きの仕組みを見てみましょう。
ステップ1. 「パターン」を開き、既存のパターンの1つを複製します(今回は例として、Twenty Twenty-Fiveの「Pricing, 2 columns」パターンを使用)。

ステップ2. 「マイパターン」を開き、複製した同期パターンを見つけます。これを開いて上書きするブロックを1つ選択します(この例では「見出し」ブロック)。左サイドバーの「ブロック」設定で下部にある「高度な設定」を展開し、「上書きを有効化」をクリックします。

クリックすると、上書きの名前を追加するプロンプトが表示されます。
ステップ3. 上書きしたいブロックごとに同様のステップを繰り返します。完了したら、新規投稿または固定ページを作成し、カスタムパターンを追加します。

ステップ4. 投稿エディターで、ブロックの内容を上書きに変更し、投稿を保存して、フロントエンドでプレビューを確認しましょう。

投稿エディターでパターンの上書きを編集すると、サイドバーの「ブロック」設定に編集可能なフィールドが表示されます。上の例では、見出しと複数の段落を上書き可能です。パターンの上書きは、サイト上の任意の場所に好きなだけ追加でき、同じ構造を表示する各パターンは、それぞれカスタマイズ可能です。
サイトエディターでパターンを開き、コードエディタに切り替えると、コードは以下のようになります。
<!-- wp:heading
{
"textAlign":"center",
"metadata":{
"name":"Heading",
"bindings":{
"__default":{
"source":"core/pattern-overrides"
}
}
},
"align":"wide"
}
-->
<h2 class="wp-block-heading alignwide has-text-align-center">Pricing</h2>
<!-- /wp:heading -->
<!-- wp:paragraph
{
"align":"center",
"metadata":{
"name":"Subtitle",
"bindings":{
"__default":{
"source":"core/pattern-overrides"
}
}
}
}
-->
<p class="has-text-align-center">Cancel or pause anytime.</p>
<!-- /wp:paragraph -->
ブロックデリミタの中にあるmetadata.bindings
プロパティによって、「見出し」ブロックと「段落」ブロックが編集可能にします。また__default
プロパティは、サポートされているすべての属性を特定のソース("core/pattern-overrides"
)に接続するように指示します。
投稿エディターでコードエディターに切り替えると、以下のようになります。
<!-- wp:block
{
"ref":518,
"content":{
"Heading":{
"content":"Choose your plan"
},
"Subtitle":{
"content":"Try our services with no risk thanks to our 30-day guarantee"
},
"Plan 1 title":{
"content":"Starter"
},
"Plan 2 title":{
"content":"Business"
}
}
}
/-->
ここでは、ブロックパターンへの参照と、編集可能に設定された各ブロックのプロパティセットが表示されます。
なお、パターンの上書きは、Block Bindings APIの実装であるため、サポートされているブロックしか上書きできません。本記事執筆時点では、「見出し」「段落」「画像」「ボタン」ブロックに対応しています。
テンプレートパーツ
Gutenbergが登場する以前は、WordPressのテーマやテンプレートは主にPHPで作成されており、テンプレートの作成やカスタマイズには、子テーマ、テンプレート階層、主要なフロントエンド開発言語に関する知識が必要でした。しかし、ブロックテーマの導入後にこれが簡素化されています。
ブロックテーマ、およびこの機能を搭載したクラシックテーマでは、サイトエディター上でテンプレートやテンプレートパーツを簡単に作成、カスタマイズすることができます。また特別な開発スキルは不要です。
ブロックテンプレートは、ブロックアイテムの一覧と捉えることができ、サイトタイトル、ロゴ、ナビゲーションなどがその一例です。
テンプレートパーツは、ヘッダーやフッターなど、複数箇所で確認できるページの特定の要素であり、WordPressサイトの任意のページで表示可能です。
サイトエディター上でのテンプレートパーツの作成と編集は、すべての編集機能を活用することができます。


しかし、ブロックパターンや再利用ブロックとは異なり、テンプレートパーツは、サイトの中で頻繁に変更されない領域を対象としています。

パターンとテンプレートパーツの違い
まとめると、この3つの主な違いは以下の通りです。
ブロックパターン
- 定義済みのブロックレイアウト。コンテンツに追加して対象となるブロックと同じ機能を使ってカスタマイズ可能。加えた変更は、そのブロックパターンの1つのインスタンスにのみ影響する。
- パターンディレクトリからコピー&ペースト可能
- パターンを作成して、パターンディレクトリに公開できる
カスタムブロックパターン
- サイトのすべての投稿/固定ページで使用できる同期または非同期のグループ
wp_posts
テーブルにwp_block
投稿タイプとして保存される- 他のサイト間でのインポートとエクスポートが可能
テンプレートパーツ
- ヘッダー、フッター、サイドバーなど、WordPressサイトの複数の場所に表示できるページの特定の領域
- サイトエディターで作成および編集可能
- サイトの中で頻繁に変更されない領域が対象
テーマとプラグインのブロックパターンを作成する方法
WordPress 6.3には新たなブロックパターン管理システムが導入され、エディターを離れることなく、同期/非同期のブロックパターンを作成できます。また、WordPress管理画面から数回のクリックで独自のパターンをインポート/エクスポートすることも可能です。
しかし、WordPressはテーマやプラグインの開発者向けにブロックパターンを作成する他の方法も提供しています。
ブロックパターン機能とともに、WordPress 5.5では開発者向けに投稿、固定ページ、カスタム投稿タイプ、テンプレートに簡単に挿入可能なコンテンツブロックを作成するためのAPIが導入されています。この新たなAPIは、ブロックパターンとパターンカテゴリを登録するためのregister_block_pattern
関数とregister_block_pattern_category
関数を提供します。
WordPress 6.0からは、PHPファイルでブロックパターンを登録することも可能になっています。
つまり、この記事を書いている時点では、ブロックパターンを作成する方法は2つあることになります。
register_block_pattern
ヘルパー関数を使う- テーマ内のpatternsフォルダ内にPHPファイルを追加する
プラグインでブロックパターンを作成する
最初の方法は、主にWordPress開発者向けの方法ですが、上級者でない開発者でも使えるほど簡単です。
最初の方法を採用した場合、2つの新しい関数register_block_pattern
とregister_block_pattern_category
を使用して、プラグインのPHPファイルまたはfunction.phpでブロックパターンを作成することができます。
パターンカテゴリーの選択・登録
まず、パターンのカテゴリーを選びます。WordPressの最新バージョンでは、新しいパターン・カテゴリーが追加され、既存のカテゴリーもいくつか変更されています。
登録されているすべてのカテゴリのリストを取得するには、投稿エディターを開いて、ブラウザのコンソールに以下のコードを貼り付けます。
wp.data.select('core').getBlockPatternCategories()
WordPress 6.7でTwenty Twenty-Fiveテーマを有効化すると、以下のパターンカテゴリーの一覧が表示されます。

ブロックパターンがデフォルトのカテゴリーのいずれにも該当しない場合は、register_block_pattern_category
を使って新しいカテゴリーを登録することも可能です。この関数は、2つの引数を受け取ります。
$category_name
:名前空間を含むパターンカテゴリー名$category_properties
:カテゴリープロパティの配列
新規にパターンカテゴリーを登録する例が以下の通りです。
if ( function_exists( 'register_block_pattern_category' ) ) {
function my_plugin_register_pattern_category() {
register_block_pattern_category(
'my-pattern-category',
array(
'label' => __( 'My Pattern Category', 'my-plugin-text-domain' ),
'description' => __( 'Simple call to action with a header, an image, a paragraph, and a button.' ),
)
);
}
add_action( 'init', 'my_plugin_register_pattern_category' );
}
ブロックパターンを登録する
パターンカテゴリーを登録したら、次はブロックパターンそのものを登録します。ブロックパターンの登録は、register_block_pattern
ヘルパーを使って、次のように行います。
function my_plugin_register_block_pattern() {
register_block_pattern( 'prefix/pattern-name', $props );
}
add_action( 'init', 'my_plugin_register_block_pattern' );
この関数は2つの引数をとります。
$pattern_name
:(namespace/pattern-name
のような形式の)機械が読み取りが可能な名前$pattern_properties
:パターンのプロパティの配列
現在利用可能なパターンプロパティは以下の通りです。
title
(必須):人が読みやすいパターン名content
(必須):パターンのHTMLマークアップdescription
:パターンを説明するテキスト(説明文は任意ですが、ユーザーによるパターン発見を助けるため推奨されます)categories
:1つまたは複数のパターンカテゴリー(ここで使用する前に、カテゴリーを登録しておく必要があります ※前のセクションを参照)keywords
:ユーザーによるパターン発見を助けるキーワードviewportWidth
:プレビューでのパターンの幅を指定する整数値blockTypes
:パターンで使用されるブロックタイプ(任意)postTypes
:パターンの使用を許可する投稿タイプtemplateTypes
:パターンが意味を持つテンプレートタイプ(WordPress 6.2以降で使用可能)inserter
:ブロック追加画面でパターンを表示するかどうかを決定するブール値(値をfalse
に設定すると、パターンが非表示になります。デフォルトでは、すべてのパターンが追加画面で表示されます)source
(任意):パターンのソースを識別する文字列(プラグインからパターンを登録する場合はplugin
文字列、テーマの場合はtheme
文字列を渡します)
以下は、register_block_pattern
の使用例です。
if ( function_exists( 'register_block_pattern' ) ) {
function my_plugin_register_block_pattern() {
register_block_pattern(
'my-plugin/my-block-pattern',
array(
'title' => _x( 'My awesome pattern', 'Block pattern title', 'my-plugin-text-domain' ),
'categories' => array( 'my-pattern-category' ),
'postTypes' => array( 'post' ),
'content' => '<!-- wp:paragraph --><p>My awesome block pattern</p><!-- /wp:paragraph -->'
)
);
}
add_action( 'init', 'my_plugin_register_block_pattern' );
}
このコードでは、postTypes
プロパティを使用して、パターンを通常のブログ記事でのみ利用できるようにしています。また、postTypes
に異なる値を設定して、別の投稿タイプで利用できるようにすることもできます。もし、product
という投稿タイプがあり、その投稿タイプでのみパターンを利用できるようにしたいのであれば、次のように書きます。
'postTypes' => array( 'product' ),
新しい投稿(またはカスタム投稿タイプ)を作成し、ブロック追加画面を開いて、「パターン」タブをクリックします。新しいパターンカテゴリー(「My Pattern Category」)に、カスタムブロックパターンが表示されているはずです。ブロックパターンをカスタマイズするために、パターンのプロパティを自由に操作してください。
では、もう少し深堀りして、実際にブロックパターンを作ってみましょう。
ブロックパターンの作成例
例えば、見出し、画像、段落、ボタンを含むブロックパターンを作りたいとします。
エディターでブロックパターンのレイアウトを作成し、コードエディターに切り替えてマークアップをコピーします。

この例では、次のようなコードになっています。
<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":"240px"} -->
<div class="wp-block-column" style="flex-basis:240px"><!-- wp:image {"id":25,"sizeSlug":"full","linkDestination":"none","style":{"border":{"radius":{"topLeft":"16px"}}}} -->
<figure class="wp-block-image size-full has-custom-border"><img src="http://wordpress-block-patterns.local/wp-content/uploads/2023/05/placeholder.jpg" alt="" class="wp-image-25" style="border-top-left-radius:16px"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column -->
<!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"level":4,"style":{"color":{"text":"#5831f6"}}} -->
<h4 class="wp-block-heading has-text-color" style="color:#5831f6">Your New Home for Modern Web Apps and Sites</h4>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Kinsta is a Cloud Platform designed to help companies and dev teams ship and manage their web projects faster and more efficiently.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->
<!-- wp:buttons {"layout":{"type":"flex"}} -->
<div class="wp-block-buttons"><!-- wp:button {"textAlign":"center","textColor":"base","width":100,"style":{"color":{"background":"#5831f6"},"typography":{"fontSize":"1.36rem"},"border":{"radius":{"topLeft":"0px","topRight":"0px","bottomLeft":"16px","bottomRight":"16px"}}},"fontFamily":"inter"} -->
<div class="wp-block-button has-custom-width wp-block-button__width-100 has-custom-font-size has-inter-font-family" style="font-size:1.36rem"><a class="wp-block-button__link has-base-color has-text-color has-background has-text-align-center wp-element-button" style="border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;background-color:#5831f6"><strong>View Plans</strong></a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->
このコードを最適化することができます。ブロックパターンをプラグインで登録している場合は、画像URLを以下のように変更する必要があります。
esc_url( plugin_dir_url( __FILE__ ) . 'images/placeholder.jpg' )
こうすることで、WordPressは「uploads」の画像ではなく、プラグインの「images」フォルダにある画像を参照するようになります。
そして、viewportWidth
プロパティを使用して、ブロック追加画面でのパターンのプレビューを調整することができます。
'viewportWidth' => 800,

また、ユーザーがブロックパターンを簡単に見つけられるように、キーワードを配列で指定することができます。
'keywords' => array( 'cta', 'demo', 'kinsta' ),

検索でブロックを見つけやすくするために、ブロックの種類を追加することもできます。
'blockTypes' => array( 'core/button' ),
こうすることで、ユーザーが指定したブロックのいずれかを検索したときに、ブロックパターンが候補に表示されます。
postTypes
プロパティでは、ブロックパターンを特定の投稿タイプでのみ利用できるようにすることができます。例えば、product
の投稿タイプに対してのみ、このパターンを表示させるには以下のように記述します。
'postTypes' => array( 'product' ),
最後に、ブロックパターンのラッパーにCSSクラスを追加することができます。
これを行うには、className
属性を持つ新しいグループを作成します。
<!-- wp:group {"className":"my-css-class","layout":{"type":"constrained"}} -->
<div class="wp-block-group my-css-class">
<!-- Your blocks -->
</div>
<!-- /wp:group -->
なお、同じクラス名を続くdiv
要素に追加する必要があります。
ブロックパターンの詳細やコードの例については、WordPress.orgのTheme Handbookの ブロックパターンも参照してください。
ファイルでブロックパターンを作成する
前述したとおり、WordPress 6.0では、WordPressテーマにブロックパターンを追加する簡単な方法が導入されました。テーマのルートにある/patternsフォルダの下にPHPファイルとして宣言することで、ブロックパターンを暗示的に登録できるようになっています。
前項で構築したブロックパターンと同じものをテーマに登録したいとします。この例では、テーマにTwenty Twenty-Threeを使用します。
前の方法と同じようにパラメータを設定しますが、ファイルヘッダのコメントに記述します。また、パラメータ名をキャメルケースで表記するのではなく、単語をスペースで区切り、配列の代わりにカンマ区切りのリストを使用します。
まず、前の例でパターンの登録に使用したプラグインを停止します。次に、my-block-pattern.phpファイルを作成し、以下のヘッダを貼り付けます。
<?php
/**
* Title: My awesome pattern
* Slug: twentytwentythree/my-block-pattern
* Post Types: post
* Categories: featured, banner
* Viewport Width: 800
* Keywords: Call to action, kinsta
* Block Types: core/buttons
*/
?>
次に、ブロックパターンのコンテンツを追加します。前の例と同じマークアップを使うことができますが、少しだけ変更する必要があります。
<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":"240px"} -->
<div class="wp-block-column" style="flex-basis:240px"><!-- wp:image {"id":25,"sizeSlug":"full","linkDestination":"none","style":{"border":{"radius":{"topLeft":"16px"}}}} -->
<figure class="wp-block-image size-full has-custom-border"><img src="<?php echo esc_url( get_theme_file_uri( 'assets/images/placeholder.jpg' ) ); ?>" alt="" class="wp-image-25" style="border-top-left-radius:16px"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column -->
<!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"level":4,"style":{"color":{"text":"#5831f6"}}} -->
<h4 class="wp-block-heading has-text-color" style="color:#5831f6">Your New Home for Modern Web Apps and Sites</h4>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Kinsta is a Cloud Platform designed to help companies and dev teams ship and manage their web projects faster and more efficiently.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->
<!-- wp:buttons {"layout":{"type":"flex"}} -->
<div class="wp-block-buttons"><!-- wp:button {"textAlign":"center","textColor":"base","width":100,"style":{"color":{"background":"#5831f6"},"typography":{"fontSize":"1.36rem"},"border":{"radius":{"topLeft":"0px","topRight":"0px","bottomLeft":"16px","bottomRight":"16px"}}},"fontFamily":"inter"} -->
<div class="wp-block-button has-custom-width wp-block-button__width-100 has-custom-font-size has-inter-font-family" style="font-size:1.36rem"><a class="wp-block-button__link has-base-color has-text-color has-background has-text-align-center wp-element-button" style="border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;background-color:#5831f6"><strong><?php echo __( 'View plans', 'text-domain' ); ?></strong></a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->
マークアップは、基本的に前の例と変わりません。変更したのは2つだけです。
プレースホルダー画像URLは、get_theme_file_uri
関数で生成されています。
<?php echo esc_url( get_theme_file_uri( 'assets/images/placeholder.jpg' ) ); ?>
もちろん、最初にplaceholder.jpgの画像をテーマの/assets/imagesフォルダに配置しておく必要があります。
次のコードで、出力したいテキストを指定しています。
<?php echo __( 'View plans', 'text-domain' ); ?>
ファイルを保存して、新しい投稿を作成してみてください。作成したブロックパターンが、「featured」と「banner」カテゴリーに表示されます。
ブロックパターンのサポート解除、登録解除、非表示する方法
状況によっては、ブロックパターンに対して特別な操作を実行したいことがあるかもしれません。例えば、コアブロックパターンを独自のブロックパターンに置き換えたり、特定の条件下でカテゴリーの登録を解除したり。実行可能な操作をご紹介します。
1. すべてのコアブロックパターンのサポートを解除する
テーマ開発の一環として、コアブロックパターンのサポートを削除し、独自のパターンを指定することができます。コアパターンのサポートを解除するには、remove_theme_support
関数を以下のように使用します。
remove_theme_support( 'core-block-patterns' );
remove_theme_support
関数をafter_setup_theme
フックと組み合わせることをお勧めします。
2. 特定のブロックパターンの登録を解除する
特定のブロックパターンの登録を解除することもできます。これは、カスタムの代替案を提供したい場合や、テーマで特定のブロックパターンを使用したくない場合に利用します。
Patterns APIでは、このためにunregister_block_pattern
関数があります。
function my_theme_unregister_block_pattern() {
unregister_block_pattern( 'namespace/block-pattern-name' );
}
add_action( 'init', 'my_theme_unregister_block_pattern' );
コアブロックパターンの登録を解除するには、以下のようにします。
function my_theme_unregister_block_pattern() {
unregister_block_pattern( 'core/query-offset-posts' );
}
add_action( 'init', 'my_theme_unregister_block_pattern' );
unregister_block_pattern
をinit
フックで使用することになります。
3. ブロックパターンカテゴリーの登録を解除する
パターンカテゴリーの登録を解除することもできます。 unregister_block_pattern_category
関数をinit
にフックします。
function my_theme_unregister_block_pattern_categories() {
unregister_block_pattern_category( 'pattern-category-name' );
}
add_action( 'init', 'my_theme_unregister_block_pattern_categories' );
パターン作成ツールでブロックパターンを作成・共有する方法
無料のオンラインツール「Pattern Creator」を使って、パターンを作成し、コミュニティと共有することもできます。
WordPress.orgのアカウントをお持ちの方は、パターンディレクトリからPattern Creatorにアクセスすることができます。
そこで「Create new pattern」をクリックします。これにより、ブロックパターンを作成するための画面が起動します。

また、Openverseライブラリでホストされている無料の画像も使用できます。

作成できたら、下書きを保存するか、パターンを送信することができます。

次に、ディレクトリに戻りMy patternsを選択すると、すべてのパターンが「All」「Drafts」「Pending Review」の3つのタブで表示されます。

編集が終わったら、パターンをコミュニティと共有することができます。エディターの右上にある「Submit」ボタンをクリックするだけで、パターンを提出可能です(パターンを送信する前に、必ずパターンのガイドラインに従っていることを確認してください)。
まとめ
WordPressは20周年を迎えました。統計によると、2023年5月の時点で63.3%の市場シェアを持ち、依然として世界で最も広く使われているCMSです。
これらの数字は、WordPressが世界中の何千人もの技術者、開発者、ブロガーに使用されている優れたコンテンツ管理ツールであることを証明しています。
WordPress開発の新しいスキルを身につけ、カスタムブロック、再利用ブロック、ブロックパターンなどの高度な機能の学習に時間とリソースを割くことは、マーケター、ウェブデザイナー、出版社のスタッフとして働く方々のキャリアを支えるはずです。
ブロックパターンを作成したことはありますか?また、コミュニティで共有したことはありますか?ブロックパターンに関するお考えとあわせて、是非ご紹介ください。