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



お勧め

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

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

さくらのVPSでKUSANAGI(2018年5月27日 更新)

請け負っていた業務が一段落したので、「さくらのVPS」で「KUSANAGI」を試してみました。推奨環境はメモリ4GBとなっているが、今回は実験的な利用なので、SSD 2GBプランでトライしました。

ホームディレクトリから過去のファイルを削除する(2013年1月27日 更新)

WordPressで構築したサイトのホームディレクトリには、現在使われていないファイルが残っている時がある。3.5.1もリリースされたことだし、これを機にホームディレクトリを整理整頓した。

「Align widgets horizontally」プラグインのフィルター使用例(2024年5月15日 更新)

ダッシュボードのウィジェットを横並びに変える「Align widgets horizontally」プラグインには緒設定を変更できるフィルターが用意されている。ここではフィルターの使い方と設定できる項目について紹介する。

各投稿記事で設定されているカスタムフィールドの値を取得するには(2011年9月16日 更新)

投稿記事ごとに設定されているカスタムフィールドの値は get_post_meta関数で取得できるが、すべての投稿記事で設定されているカスタムフィールドの値を一覧を取得する関数が見当たらない。カテゴリーや投稿タグのようにそれぞれの値と実際に使用されている投稿記事件数を取得したいのだが、探し方が悪いのか見つからないのだ。