てくてくあるく

WordPress の テーマ とか プラグイン に ついて 勉強しています

実際に 試してみたのですが ブロックエディタで 作成したものが そのまま パターンになるので 便利です

ショートコードが 使いにくいので 事前に幾つか設定した状態で パターンの登録して使っています

実際に 組み込んだ際 私の環境では 他のプラグインに影響が出たので
ブロックパターン追加 の処理では 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,
        ]
      );
    }

  }

}

Related Article

知らなかった… 投稿タイプ毎に テンプレートを 用意することができる

詳細へ »

投稿 の タイトル を 数字のみ に 変換 する

詳細へ »

データベース接続確立のエラー ページ の カスタマイズ

詳細へ »