WordPressポストループで子カテゴリーのみを表示する方法


WordPress ポストループに子カテゴリーのみを表示したいですか?

ほとんどの WordPress テーマでは、親カテゴリと子カテゴリを含む、投稿のすべてのカテゴリが表示されます。ただし、投稿に多数のカテゴリを追加すると、サイトが乱雑に見え、読者が興味深いコンテンツを見つけられなくなる可能性があります。

この記事では、WordPressのポストループで子カテゴリーのみを簡単に表示する方法を紹介します。

WordPress の投稿ループで子カテゴリーのみを表示する理由

WordPress ブログを作成するときは、カテゴリとタグを使用してコンテンツを整理できます。

読者が興味深いコンテンツをより早く見つけられるように、子カテゴリ (またはサブカテゴリ) を作成することもできます。

たとえば、旅行ブログをお持ちの場合は、「目的地」カテゴリを作成し、次に「ヨーロッパ」、「アメリカ」、「オーストラリア」などの子カテゴリを作成します。

デフォルトでは、ほとんどの WordPress テーマでは、投稿のすべての親カテゴリと子カテゴリが表示されます。

ただし、多くのカテゴリを使用すると、ブログ ページが乱雑で複雑に見える可能性があります。また、読者が興味のあるカテゴリを見つけるのがさらに難しくなる可能性があります。

そのため、投稿の一般的な親カテゴリを非表示にして、子カテゴリのみを表示したい場合があります。そうは言っても、WordPress ポストループで子カテゴリーのみを表示する方法を見てみましょう。

WordPress投稿の子カテゴリーのみを表示する方法

投稿の親カテゴリを非表示にするには、WordPress ウェブサイトにコードを追加する必要があります。これまでにこれを行ったことがない場合は、ウェブからスニペットを WordPress に貼り付ける方法に関する初心者向けガイドをご覧ください。

まず、テーマ ファイル内でカテゴリの表示を担当するコードを見つける必要があります。これは通常、WordPress テーマ内の single.php ファイルにあります。

適切なテンプレート ファイルを見つけるには、WordPress テンプレート階層のチートシートを参照してください。カテゴリの表示を担当するコードが見つかったら、それを次のコードに置き換えることができます。

// Get the IDs of categories
$categories = get_the_category();
foreach( $categories as $category ) {
If ( $category->parent > 0 ) {
$child_cat_ID[] =  $category->term_id;
//store child's parent category id to use later
$parent_cat_ID = $category->parent;
}
// find categories with no parent and no child
If ( $category->parent == 0 && $category->term_id !== $parent_cat_ID) {
$single_category[] = $category->term_id;
}
}

// Display part of the code

// if there are no child categories then go ahead and display all categories.
If ( empty($child_cat_ID)) {
echo get_the_category_list( ' , ', '' );
} 

// If there are child categories then do this
else {
$child_cat_IDs = implode(', ', $child_cat_ID) ;
$single_category_id = implode(', ', $single_category);	

// Combine child categories and categories with no children
$cats_to_include =   $child_cat_IDs . ', ' . $single_category_id ; 

// Display them
echo '<div class="post-categories">Filed under: ';

wp_list_categories( array(
'separator' => ' ',
'style'	=> '',
'include' =>  $cats_to_include
 ) );
echo '</div>';

} 

このコードは親カテゴリのみを除外するため、子カテゴリを持たないスタンドアロン カテゴリが引き続き表示されます。

完了したら、変更を保存し、ファイルを Web ホスティング サーバーにアップロードして戻します。

ここで、1 つ以上の子カテゴリを持つ投稿にアクセスする必要があります。親カテゴリーが非表示になっており、WordPress では子カテゴリーのみが表示されていることがわかります。

この記事が、WordPress の投稿で子カテゴリーのみを表示する方法を学ぶのに役立つことを願っています。次に、WordPress を使用してオンライン ブログでお金を稼ぐ方法に関するガイドを参照したり、使用する必要がある最適な SEO プラグインとツールに関する専門家が選んだものを参照したりすることもできます。

この記事が気に入っていただけましたら、WordPress ビデオ チュートリアルの YouTube チャンネルに登録してください。 Twitter や Facebook でもご覧いただけます。