ねんでぶろぐ さんの WordPress5.5 ブロックパターンを簡単に登録やメンテナンスできるようにする が とても便利だった
この記事は 2020年 8月 31日 に書かれた記事です。
実際に 試してみたのですが ブロックエディタで 作成したものが そのまま パターンになるので 便利です
ショートコードが 使いにくいので 事前に幾つか設定した状態で パターンの登録して使っています
実際に 組み込んだ際 私の環境では 他のプラグインに影響が出たので
ブロックパターン追加 の処理では WP_Query と the_post を 使わずに get_posts を 使いました
まれな 状況だとは思いますが 参考程度に コードを置いておきます
// ブロックパターン追加
$pattern_args = array(
'post_type' => [ 'my_block_patterns' ],
'post_status' => [ 'publish' ],
'posts_per_page' => -1,
);
$pattern = get_posts( $pattern_args );
if( ! empty( $pattern ) ) {
foreach( $pattern as $value ) {
$pattern_title = get_the_title( $value->ID );
if( empty( $pattern_title ) ) {
$pattern_title = __( 'Untitled block pattern', 'translation' );
}
$pattern_content = get_the_content( null, false, $value->ID );
$pattern_categories = [];
$block_terms = get_the_terms( $value->ID, 'my_block_category' );
if( ! empty( $block_terms ) && ! is_wp_error( $block_terms ) ) {
foreach( $block_terms as $block_term ) {
$pattern_categories[] = $block_term->slug;
}
}
if( ! empty( $pattern_content ) ) {
register_block_pattern(
'jr/block_patterns-' . $value->ID,
[
'title' => $pattern_title,
'content' => $pattern_content,
'categories' => $pattern_categories,
]
);
}
}
}