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



お勧め

edit_custom_thumbnail_sizesフィルターを使ってみた(2022年5月30日 更新)

アップロード済みの画像は、トリミングや回転、反転といった編集が可能である。6.0.0で追加されたedit_custom_thumbnail_sizesフィルターは、編集された内容を反映させるサイズを拡張するものだったので、さっそく使ってみた。

WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧(2018年5月27日 更新)

WordPressの更新が遅れていたサイトを少し前に更新したところ、jQuery UI sortableを使って拡張したページに不具合が発生しました。WordPressの更新に伴って内部のjQuery UIが更新されたことに起因すると思われ、これを機にWordPressとそれに組み込まれたJavaScriptライブラリのバージョンを確認してみました。

投稿日の検索が自由自在に(2015年3月7日 更新)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

新テーマ「Twenty Twenty-Three」にはfunctions.phpがない(2022年10月6日 更新)

WordPress 6.1に同梱された新テーマ「Twenty Twenty-Three」を見てみると、そこには見慣れたfunctions.phpがない。Full Site Editing(FSE)対応テーマってこんな感じなのかと思いつつ、テーマの設定がどうなっているのか調べてみた。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。