前提として...
the_excerpt()
は、テンプレートタグ/the_excerpt に
また、抜粋のコンテンツからは HTML タグと画像は取り除かれます。このタグはループ内でのみ使えます。
あるように 「HTML タグ」と「画像」は取り除くとあります。
HTML のコメント <!-- コメント -->
も取り除かれます。
前提をふまえて、Block Lab プラグインが保存したデータを確認すると
<!-- wp:block-lab/myblock1 {"MyField":"テスト"} /-->
のようにコンテンツ部分も含めて、すべての部分が HTML コメントになっています。
そのため、the_excerpt()
で抜粋を表示させると HTMLコメントなので削除されて表示されません。
なお、標準のブロックの場合は、
<!-- wp:paragraph -->
<p>段落ブロックテスト</p>
<!-- /wp:paragraph -->
のように HTML コメントに挟まれていますが、コンテンツ部分はコメントになっていませんので、コンテンツ部分は HTML タグ等を取り除いて表示されます。
どのようなブロックを定義されているのか不明なので、the_excerpt() で、オリジナルブロックを表示するための概略だけですが...
the_excerpt() で抜粋を作る処理を修正することになると思います。
the_excerpt()
の中で呼び出されている get_the_excerpt
HOOK あたりで、
do_blocks()
関数で、投稿の中のブロックを展開する
- 展開した結果から抜粋を作成する
- 作成した抜粋を返す
のような関数を呼び出すことになるのではないかと思います。
ブロックを展開して、抜粋に全文を表示する例:
function get_excerpt_tt264557($excerpt, $post){
$content = do_blocks($post->post_content); // ブロックを展開
// 抜粋を作成する処理をここ書くこと。
return $content; // 結果を返す
}
add_filter('get_the_excerpt', 'get_excerpt_tt264557', 10, 2);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 10:02
2020/05/25 11:01