make_after_block_visitor()


WordPressのmake_after_block_visitor()関数は、ブロックコンテンツの解析後に特定の処理を行うためのビジター関数を生成します。この関数は、ブロックエディタのコンテンツを操作する際に使用されます。

構文

make_after_block_visitor( callable $callback );
  • $callback(callable) — ブロック解析後に実行されるコールバック関数。この関数は、ブロックのデータを受け取り、処理を行います。

例1: ブロック解析後にメッセージを表示

ブロック解析後に簡単なメッセージを表示する例です。

$visitor = make_after_block_visitor(function($block) { echo 'ブロック解析完了: ' . $block['blockName']; });

例2: ブロックの属性をログに記録

ブロック解析後にその属性をログに記録する例です。

$visitor = make_after_block_visitor(function($block) { error_log(print_r($block['attrs'], true)); });

例3: 特定のブロックタイプをフィルタリング

特定のブロックタイプのみをフィルタリングして処理する例です。

$visitor = make_after_block_visitor(function($block) { if ($block['blockName'] === 'core/paragraph') { /* 処理 */ } });

例4: ブロックの内容を変更

ブロックの内容を解析後に変更する例です。

$visitor = make_after_block_visitor(function($block) { $block['innerHTML'] = str_replace('old', 'new', $block['innerHTML']); return $block; });

例5: ブロックのスタイルを追加

ブロック解析後にスタイルを追加する例です。

$visitor = make_after_block_visitor(function($block) { $block['attrs']['style'] = 'color: red;'; return $block; });

例6: ブロックのクラスを追加

ブロック解析後にクラスを追加する例です。

$visitor = make_after_block_visitor(function($block) { $block['attrs']['className'] .= ' custom-class'; return $block; });

例7: ブロックのデータを外部APIに送信

ブロック解析後にそのデータを外部APIに送信する例です。

$visitor = make_after_block_visitor(function($block) { wp_remote_post('https://example.com/api', array('body' => $block)); });

例8: ブロックの内容をキャッシュ

ブロック解析後にその内容をキャッシュする例です。

$visitor = make_after_block_visitor(function($block) { set_transient('block_' . $block['blockName'], $block['innerHTML'], 3600); });

注意点

  • コールバック関数内でブロックデータを変更する場合、必ず変更後のブロックデータを返す必要があります。
  • この関数は、ブロックエディタのコンテンツ解析後にのみ動作します。

関連機能: