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



お勧め

JavaScriptテンプレートを使ってみた(2018年8月21日 更新)

前回の記事」で取り上げた「WordPress Events and News」ウィジェットでは入力された地名のAJAX処理してその地名近隣のイベント情報を表示している。特に表示部分では「JavaScriptテンプレート」が採用されており、今更ながら調べてみた。

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

任意の名前でエラーログファイルを指定する(2019年2月15日 更新)

来週にはWordPress 5.1がリリース。RC1のソースコードを見ていると、 wp_debug_mode関数が変更されており、興味深かった。

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

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

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。