teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2020/03/24 16:08

投稿

KazuhiroHatano
KazuhiroHatano

スコア7834

answer CHANGED
@@ -4,7 +4,24 @@
4
4
  [見出しブロックの出力のソースコード](https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/heading/save.js)を見ると非常にシンプルなブロックであることがわかります
5
5
  クラスを多少弄れるようになってる以外は出力のカスタマイズの余地がありません
6
6
 
7
- 登録されたheadingブロックタイプにrender_callbackを追加して
7
+ ~~登録されたheadingブロックタイプにrender_callbackを追加して~~
8
- 出力時に構造を変更して出力するなんて力技もできなくはないでしょうが
8
+ ~~出力時に構造を変更して出力するなんて力技もできなくはないでしょうが~~
9
9
  そこまでやるならフロント側のjsで処理するか
10
- 自分でブロック作った方がいいでしょうね
10
+ 自分でブロック作った方がいいでしょうね
11
+
12
+ ---
13
+ 追記
14
+
15
+ ちょっと試しにheadingブロックをいじってみようと思ったら
16
+ WordPressコアのブロックタイプはそもそもほとんどが
17
+ サーバーサイドのregister_block_typeによって登録をされておらず
18
+ WP_Block_typeインスタンスも作られてないようなので
19
+ どうもrender_callbackを後付けする方法がなさそうです
20
+
21
+ サーバーサイドで処理するなら[render_block](https://developer.wordpress.org/reference/hooks/render_block/)フィルタでしょうかね
22
+
23
+ このフィルタが用意されてるってことはブロックごとに
24
+ 出力時にHTMLを改変する使い方も想定してるってことでしょう
25
+
26
+ フロントのjsで処理するとかよりはrender_blockフィルタを使う方が
27
+ WordPressの想定する使い方に沿っているかもしれません