サポート » プラグイン » 記事ページのテーマを複数作成したい

  • プラグインのCPT UIを使用して、下記のような構造を作りました。

    カスタム投稿タイプ:works

     カスタムタクソノミー1:news
      ターム1:recent works

     カスタムタクソノミー2:history
      ターム1:80s
      ターム2:90s

    この時に、カスタムタクソノミー1:news の記事ページレイアウトと、カスタムタクソノミー2:history の記事ページレイアウトを別のものにしたいのですが、実現出来ずに困っています。

    そもそもそのようなことが可能でしょうか?

    ご教授のほど、何卒よろしくお願いいたします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんにちは

    その投稿が news に属するタームを持っているか、history に属するタームを持っているかで、get_template_part 関数を使って読み込むテンプレートを変更します。

    single-works.php でカスタム投稿を表示していると思いますが、そのループの中で

    $news_terms = get_the_terms($post, 'news');
    $history_terms = get_the_terms($post, 'history');
    
    if( false == $news_terms ) {
    	get_template_part( 'template-parts/content', get_post_type() . '-news' );// news のときのテンプレート
    }elseif(false == $history_terms){
    	get_template_part( 'template-parts/content', get_post_type() . '-history' );// history のときのテンプレート
    }

    などとしてやると、別々のテンプレートを読み込むことが出来ます。

    それぞれのテンプレートファイルですが、この例だとテーマのディレクトリにtemplate-partsというディレクトリを作成し、その中に、
    content-works-news.php
    content-works-history.php
    というテンプレートファイルを作成し、それぞれにレイアウトを記述します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • このトピックに返信するにはログインが必要です。