Simplicity2にカスタム投稿タイプを追加するのに必要なファイル

基本的に Simplicity2 の親テーマはいじらずに、子テーマ Simplicity2 child ディレクトリ(フォルダ)だけいじります。

工程の流れを説明

元から入っているファイルをカスタマイズ

function.php
CSS

親テーマからコピーして子テーマに追加してカスタマイズ

popular-posts-entries-large.php
popular-posts-entries.php
breadcrumbs.php
entry-body.php
entry-card-content.php
entry-card-large.php
entry-card.php
footer.php
sidebar.php
single-amp.php
single-page.php
single.php
category-link.php

新規に追加するファイル

archive-custom.php
taxonomy-custom_category.php
taxonomy-custom_tag.php

スポンサーリンク

カスタム投稿タイプを追加する作業

ここから実際のカスタマイズ作業になります。

最初から入っているファイルから、2つだけカスタマイズします。

元から子テーマにあるファイル

functions.php

ゴリゴリ追記していきます。

詳しくは別記事(追って記事にします)でご確認下さい。

style.css

見た目で変えたい場所があれば追記していきます。

追加するファイル

基本的に親テーマからコピーしたファイルを使います。
ファイル名の変更と中身にチョビっとだけのカスタマイズが必要です。

親からコピーして追加するファイル

この中で黒字のものはファイル名はそのままです。
赤字はファイル名にカスタム投稿タイプ名を追記します。

popular-posts-entries-large.php
popular-posts-entries.php
breadcrumbs.php
entry-body.php
entry-card-content.php
entry-card-large.php
entry-card.php
footer.php
sidebar.php
single-amp.php
single-page.php
single.php
category-link.php

親からコピーしたファイルに追記訂正

ファイル名は変更なしで中身だけカスタマイズします。

popular-posts-entries-large.php
popular-posts-entries.php

上記2つは人気記事を読み取ります。
通常はpostだけになっているので、カスタム投稿タイプ名を追加します。
詳しくは別記事(追って記事にします)でご確認下さい。

親からコピーしたファイル名の末尾にカスタム投稿タイプ名を追加

breadcrumbs-custom.php

詳しくは↓別記事↓でご確認下さい。

http://web.mottone.net/wordpress/23243/

entry-body-custom.php

カスタム投稿タイプのシングルページ下部で、カスタムタクソノミーのタグを表示させるファイル。初期設定のままだと、通常投稿のタグになっているので何も表示されない。

カスタム投稿タイプのタグに変更する必要がある。

104行目あたり

変更前

      <span class="post-tag"><?php the_tags('<span class="fa fa-tags fa-fw"></span>','<span class="tag-separator">, </span>'); ?></span>

変更後

   <span class="post-tag"><?php echo get_the_term_list($post->ID, custom_tag, '<span class="fa fa-tags fa-fw"></span>', ' <span class="tag-separator">, </span>'); ?></span>

22行目あたり

変更前

<?php get_template_part('category-link');//カテゴリーリンク?>

変更後

<?php get_template_part('category-link-custom');//カテゴリーリンク?>

参照にさせてもらった記事はこちらです。
http://0419.sub.jp/2015/05/21/simplicity-4/

entry-card-content-custom.php

初期設定のままですと、ホームでの一覧表示のとき、記事タイトル下にあるカテゴリーを表示しません。

カスタム投稿タイプのカテゴリーとタグを表示するようにします。

カスタム投稿タイプ用に変更するには、ファイル名の末尾に任意の名前を追加し、中身も少々いじる。

変更前

     <?php //インデクスにタグを表示したい場合コメントアウト
      //the_tags( '<span class="tag"><span class="fa fa-tags fa-fw"></span>', ', ', '</span>'); ?>

変更後(仮:余分なフォルダが入っている・・・あとで修正する)

      <?php //インデクスにタグを表示したい場合コメントアウト
      //the_tags( '<span class="tag"><span class="fa fa-tags fa-fw"></span>', ', ', '</span>'); ?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php echo get_the_term_list($post->ID, custom_category, '<span class="category-separator"> </span>'); ?></span>
<span class="post-tag"><?php echo get_the_term_list($post->ID, custom_tag, '<span class="fa fa-tags fa-fw"></span>', ' <span class="tag-separator">, </span>'); ?></span>
<span class="post-tag"><?php the_tags('<span class="fa fa-tags fa-fw"></span>','<span class="tag-separator">, </span>'); ?></span>

footer-custom.php

3行目あたり

変更前

<?php get_sidebar(); ?>

変更後

<?php get_sidebar('custom'); ?>

詳しくは別記事(追って記事にします)でご確認下さい。
sidebar-custom.php

変更前

 <?php if ( is_active_sidebar( 'sidebar-1' ) ) :
    dynamic_sidebar( 'sidebar-1' );
  endif;?>

 <?php if ( is_active_sidebar( 'sidebar-custom' ) ) :
    dynamic_sidebar( 'sidebar-custom' );
  endif;?>

詳しくは別記事(追って記事にします)でご確認下さい。
single-amp-custom.php

詳しくは別記事(追って記事にします)でご確認下さい。
single-page-custom.php

8行目あたり

変更前

変更後

12行目あたり

変更前

変更後

63行目あたり

変更前

変更後

詳しくは別記事(追って記事にします)でご確認下さい。
single-custom.php

詳しくは別記事(追って記事にします)でご確認下さい。

category-link-custom.php

カスタム投稿タイプのシングルページ上部で、カスタムタクソノミーカテゴリーを表示させるファイル。

初期設定のままだと、通常投稿のタグになっているので何も表示されない。

カスタム投稿タイプ用に変更するには、ファイル名の末尾に任意の名前を追加し、中身も少々いじる。

変更前

<?php //インデックスページや投稿ページで表示されるカテゴリーリンク
if ( is_category_visible() && //カテゴリを表示する場合
           get_the_category() ): //投稿ページの場合?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php the_category('<span class="category-separator">, </span>') ?></span>
<?php endif; //is_category_visible?>

変更後(仮:カスタム投稿タイプのアーカイブ一、カテゴリー、タグの一覧時に表示されない。あとで変更する)

<?php if ( is_single() ): ?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php echo get_the_term_list($post->ID, custom_category, '<span class="category-separator"> </span>'); ?></span>
<?php elseif ( is_category() || is_tag()  ): ?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php echo get_the_term_list($post->ID, custom_category, '<span class="category-separator"> </span>'); ?></span>
<?php elseif ( is_archive()  ): ?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php echo get_the_term_list($post->ID, custom_category, '<span class="category-separator"> </span>'); ?></span>
<?php endif; ?>

新規にファイルを作成

archive-custom.php

カスタム投稿タイプのトップページ(記事一覧)
親テーマの list.php をコピーしてカスタム投稿タイプ用のファイル名に変更します。

ファイル名の末尾に任意の名前を追加し、中身も少々いじる。

変更前

<?php
////////////////////////////
//カテゴリ説明文の挿入
////////////////////////////
if (is_category() && //カテゴリページの時
          !is_paged() &&   //カテゴリページのトップの時
          category_description()) : //カテゴリの説明文が空でない時 ?>
<!-- カテゴリの説明文 -->
<div class="category-description"><?php echo category_description(); ?></div>
<?php endif; ?>

<?php
////////////////////////////
//タグ説明文の挿入
////////////////////////////
if (is_tag() && //タグページの時
          !is_paged() &&   //タグページのトップの時
          tag_description()) : //タグの説明文が空でない時 ?>
<!-- カテゴリの説明文 -->
<div class="category-description tag-description"><?php echo tag_description(); ?></div>
<?php endif; ?>

変更後

カスタム投稿タイプのカテゴリーとタグの説明分を入れます。手こずりましたが、こちらで無事に表示されました。

<?php
$post_type = get_queried_object();
echo esc_attr($post_type->description);
?>

こちらのページを参照させていただきました。

CPT UIでカスタム投稿別にdescriptionを表示させる

taxonomy-custom_category.php

カスタム投稿タイプのカテゴリーページ(記事一覧)を表示させるファイル。

先ほど作成した『archive-custom.php』をコピーしてカスタム投稿タイプ用のファイル名に変更します。

中身も変更。

変更前

<?php
////////////////////////////
//パンくずリスト
////////////////////////////
  if (is_category()) {
    get_template_part('breadcrumbs');
  }
?>

変更後

<?php
////////////////////////////
//パンくずリスト
////////////////////////////
  if (is_tax()) {
    get_template_part('breadcrumbs-custom');
  }
?>

taxonomy-custom_tag.php

カスタム投稿タイプのタグページ(記事一覧)を表示させるファイル。

先ほど作成した『archive-custom.php』をコピーしてカスタム投稿タイプ用のファイル名に変更します。

中身も変更。

変更前

<?php
////////////////////////////
//パンくずリスト
////////////////////////////
  if (is_category()) {
    get_template_part('breadcrumbs');
  }
?>

変更後

<?php
////////////////////////////
//パンくずリスト
////////////////////////////
  if (is_tax()) {
    get_template_part('breadcrumbs-custom');
  }
?>

複数のカスタム投稿タイプがある場合はうんざりしますので、2つ目からは置換アプリなどで一気に書き換えましょう。

http://web.mottone.net/wordpress/49441/