parse_blocks

説明

array[] parse_blocks( string $content )
投稿コンテンツをパースする。

パラメータ

  • $content
    投稿コンテンツを指定

返り値

投稿コンテンツをパースしたブロック情報(連想配列)の配列を返す。1つのブロック情報は次の内容となる。

キーデータ型内容
'blockName'stringブロック名
'attrs'arrayブロック属性
'innerBlocks'array[]インナーブロック情報の配列
'innerHTML'stringブロック内のHTMLテキスト
'innerContent'arrayブロック内コンテンツの配列

参考まで「Hello world!」の投稿コンテンツをパースした結果。

array(1) {
  [0]=>
  array(5) {
    ["blockName"]=>
    string(14) "core/paragraph"
    ["attrs"]=>
    array(1) {
      ["className"]=>
      string(0) ""
    }
    ["innerBlocks"]=>
    array(0) {
    }
    ["innerHTML"]=>
    string(148) "
<p>WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。</p>
"
    ["innerContent"]=>
    array(1) {
      [0]=>
      string(148) "
<p>WordPress へようこそ。こちらは最初の投稿です。編集または削除し、コンテンツ作成を始めてください。</p>
"
    }
  }
}

注意

標準のパーサークラスはWP_Block_Parserクラスで、'block_parser_class'フィルターにより変更可能になっている(パーサークラスはparseメソッドが必須)。


使用例

  • 投稿コンテンツをパースする
    $blocks = parse_blocks( $post->post_content );

フィルター

[5.0.0]パーサークラスを確定するため'block_parser_class'フィルターを呼び出す。パラメータ$parser_classには'WP_Block_Parser'が格納されている。
$parser_class = apply_filters( 'block_parser_class', $parser_class );

アクション

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

ソースファイル

/wp-includes/blocks.php

最終更新 : 2024年07月24日 10:57



お勧め

個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)

先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。

決まった値を返すだけの関数群(2018年5月27日 更新)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)

ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。

Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)

Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。

favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)

先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。