説明
パラメータ
- $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」に設定されていることが原因だった。