register_block_type_from_metadata

説明

WP_Block_Type | false register_block_type_from_metadata( string $file_or_folder [ , array $args = array() ] )
block.jsonファイルからブロックタイプを登録する。

パラメータ

  • $file_or_folder
    block.jsonファイルかそのディレクトリのパス名を指定。
  • $args
    ブロック定義を格納した連想配列を指定(省略時はarray())。以下は連想配列キーの抜粋。
    キー内容
    render_callbackサーバーサイドでブロックをレンダリングするコールバック関数
    textdomain[5.7.0]サポート
    variations[5.9.0]サポート
    viewScript[5.9.0]サポート
    render[6.1.0]サポート。サーバーサイドでブロックをレンダリングするコールバック関数のPHPファイルの相対パス名
    selectors[6.3.0]サポート
    blockHooks[6.4.0]サポート
    allowedBlocks[6.5.0]サポート
    viewScriptModule[6.5.0]サポート
    viewStyle[6.5.0]サポート

返り値

ブロックタイプを登録できた場合はそのWP_Block_Typeオブジェクトを返す。登録できなかった場合はfalseを返す。

注意

ブロック定義を記載したblock.jsonファイルを読み込み、ブロックタイプを登録する。ブロックタイプの諸設定はパラメータ$argsにより、キー単位で上書きできる。

[5.8.0]本関数は register_block_typeから呼び出されるようになった。

バージョンによりパラメータ$argsがサポートするキーが変わっている。


使用例

  • block.jsonファイルからブロックタイプを登録する
    register_block_type_from_metadata( $block_path, $attr );

フィルター

[5.7.0]block.jsonファイルの読み込み後'block_type_metadata'フィルターを呼び出す。パラメータ$metadataにはblock.jsonファイルをデコードした連想配列(キー'file'にはblock.jsonファイルのパス名追加済み)が格納されている。
$metadata = apply_filters( 'block_type_metadata', $metadata );
[5.7.0]ブロックタイプを登録する前に'block_type_metadata_settings'フィルターを呼び出す。パラメータ$settingsにはブロックタイプの設定内容を示す連想配列が、$metadataにはblock.jsonファイルをデコードした連想配列が格納されている。
$settings = apply_filters( 'block_type_metadata_settings', $settings, $metadata );

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/blocks.php

最終更新 : 2024年05月17日 11:58



お勧め

投稿内容のid属性などを保存するための対策(2012年6月15日 更新)

WordPress 3.4にアップデートしたとある環境で投稿記事を保存すると、divタグなどのid属性がクリアされて保存するようになった(id属性が保存できなくなった)。ここでは、その対策方法の1つを紹介しておく。

WP_List_Tableクラスの「一括操作」フォームを使ってみた(2018年5月27日 更新)

今回は「WP_List_Tableクラスを使ってみた」の続き。投稿一覧やプラグインページなどにある「一括操作」(Bulkアクション)フォーム対応に関するメモである。

4.4では投稿ページも専用テンプレートが適用できる(2018年5月27日 更新)

従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。4.4では特定の投稿ページに標準で専用テンプレートを適用できるようになりそうです。

Google Mapsブロックを作る過程で悩んだ件(2022年8月23日 更新)

自分なりのGoogle Mapsブロックを作るべく、カスタムHTMLブロックをベースにいくつかのパラメータ要素をサイドバーに追加していく。Google Maps用のAPIキーについてはオプションデータ(wp_optionsテーブル)に格納して利用していこうと思ったのだが、その方法がさっぱりわからなかった。

Popoverコンポーネントのanchorプロパティについて考えたときのメモ(2024年8月19日 更新)

カスタムブロックやコアブロック向けのプラグインでお世話になるPopoverコンポーネント。表示位置を決定する上で大きく影響するのがanchorプロパティである。フィルターのコールバック関数で対象ブロックに干渉できない場合はどうしたらよいのだろうか。