ワードプレスで特定の親カテゴリーを持つ子カテゴリーをすべて取得、そのカテゴリーリンクを出力するPHPコードをご紹介いたします。

get_categoriesでカテゴリーを取得
get_categories関数は、ワードプレスのカテゴリーを配列で取得する関数です。この関数に、親カテゴリーのIDを指定することでその親カテゴリーを持つすべての子カテゴリーを取得することが可能です。
※このコードはテーマのそれぞれのページのPHPプログラムなどで動作します
$category_args_query = array(
'orderby' => 'name',//名称で並び替え
'parent' => 1, //親カテゴリーのID
);
$child_categories = get_categories( $category_args_query );
親カテゴリーのIDは、ワードプレスの管理画面の投稿>カテゴリー>それぞれのカテゴリーの編集画面のURLの&tag_ID=数字 の部分です。
カテゴリーIDをget_category_by_slug関数でカテゴリーのスラグ(一意のURL部分)から取得することも可能です。
$cat = get_category_by_slug('カテゴリーのスラグ');
$catid = $cat->term_id; //カテゴリーIDを取得
foreach文でカテゴリーを順次リンク付きで出力する
上記で取得したカテゴリーをカテゴリーへのリンクで順次出力するには下記のようなコードを実装します。
<?php
$category_args_query = array(
'orderby' => 'name',//名称で並び替え
'parent' => 1, //親カテゴリーのID
);
$child_categories = get_categories( $category_args_query );
foreach ( $child_categories as $category )
{ ?>
<a href="<?php echo get_category_link($category->term_id ); ?> ">
<?php echo $category->name; ?>
</a>
<?php
}
?>
get_category_link($category->term_id ) にカテゴリーのIDを指定してそのリンクURLを取得しAタグに出力します。
$category->name; でカテゴリーの名称を出力しています。
このコードで任意の親カテゴリーを持つ、子カテゴリーをその名称でカテゴリーの記事一覧にリンクする要素が出力されます。
ご参考になりましたら幸いです。
WordPress ワードプレスサイトの修正やカスタマイズのコーディングのご相談・ご依頼はWPドクターまでお気軽にお送りください




