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



お勧め

カスタムフィールドで並び替え(2013年8月9日 更新)

WordPressでは複数の投稿記事を取得する際、並び順の指定を省略すると投稿日時の降順になる。並び順は、投稿日時だけでなく、更新日時、投稿名、記事タイトル、コメント数のほか、カスタムフィールドも指定できる。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。

開発環境(Windows 8)にimagickを入れる(2012年12月23日 更新)

WordPress 3.5のイメージエディタ(WP_Image_Editor)は、GDだけでなく、imagick(ImageMagick)にも対応している。そんなわけでWindows 8の開発環境にimagickをインストールしてみた。

ページを表示する直前の前処理にtemplate_redirectアクションを(2013年4月13日 更新)

リクエストに応じてページを表示する直前の準備として何かしらの処理を行っておきたいケースがある。そんな時、テーマの各テンプレートファイルの先頭部分に処理内容をずらずらと記述していませんか。

Slightly troublesome permalink:プラグイン作ってみました(2021年4月20日 更新)

カテゴリーを含んだパーマリンクを設定している場合、複数のカテゴリーを指定した投稿記事のパーマリンクのURLに目的のカテゴリーとは異なるカテゴリーが適用された経験はないだろうか。このプラグインは、パーマリンクに適用されるカテゴリーをコントロールし、希望通りのパーマリンクを設定します。