【WordPress】投稿のカテゴリー・タグをリンク付きで取得し表示する例

WordPressでサイトを制作していると、現在の投稿に設定しているカテゴリーやタグの名前をリンク付きで投稿内に表示したい場合があると思います。

今回は、そのような場合に使用できるソースコードの例となります。

また、サイト内で使用されているすべてのカテゴリー・タグ名の一覧を取得したい場合は、以下のリンク先を参考にしてみてください。

投稿のカテゴリーを取得し表示|get_the_category()

テンプレートタグのget_the_category()では、引数で指定した投稿IDに設定されているカテゴリーのオブジェクトを配列として取得します。

引数を指定しない場合には、現在の投稿に設定されているカテゴリーのオブジェクトを取得します。

今回の例では、そのget_the_category()を使い投稿のカテゴリーを取得し表示します。

先頭のカテゴリーを表示する例

以下は、現在の投稿に設定している先頭のカテゴリーのみを、リンク付きで表示する例となります。またカテゴリーの先頭は、get_the_category()で最初に取得したカテゴリーとなります。

ソースコードは投稿内でカテゴリーを表示したい箇所に記述します。

<?php 
$category = get_the_category(); 
if( $category[0] ){
	echo '<a href="' . get_category_link( $category[0]->term_id ) . '">' . $category[0]->name . '</a>';
}
?>

カテゴリー一覧を表示する例

以下は、現在の投稿に設定しているカテゴリー一覧を、リンク付きで表示する例となります。

ソースコードは投稿内でカテゴリー一覧を表示したい場所に記述します。

<?php
$categories = get_the_category();
echo '<ul class="category-list">';
foreach( $categories as $category ){
	echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
}
echo '</ul>';
?>

上記の2つ例では、get_the_category()から、カテゴリー ID(term_id)とカテゴリー名(name)を取得し、投稿に設定されているカテゴリーをリンク付きで表示しています。また、リンク先はカテゴリーのアーカイブページとなります。

最初の例では、get_the_category()で最初に取得したカテゴリーのみを表示し、2つ目の例では、取得したすべてのカテゴリーをforeachループを使用し表示しています。

get_the_category()の他の戻り値など、詳細は以下の参考サイトを確認してみてください。

子カテゴリーのみ・親カテゴリーのみを表示する場合

現在の投稿に設定している子カテゴリーのみ・親カテゴリーのみを取得し表示する例については、以下のリンク先を参考にしてみてください。

投稿のタグを取得し表示|get_the_tags()

テンプレートタグのget_the_tags()は、引数で指定した投稿IDに設定されているタグのオブジェクトを配列として取得します。

引数を指定しない場合には、現在の投稿に設定されているタグのオブジェクトを取得します。

タグ一覧を表示する例

以下は、現在の投稿に設定しているタグ一覧を、リンク付きで表示する例となります。

ソースコードは投稿内でタグ一覧を表示したい場所に記述します。

<?php
$posttags = get_the_tags();
if( $posttags ){
	echo '<ul class="tag-list">';
	foreach ( $posttags as $tag ) {
		echo '<li><a href="' . get_tag_link( $tag->term_id ) . '">#' . $tag->name . '</a></li>';
	}
	echo '</ul>';
}
?>

上記の例では、foreachループを使用し、get_the_tags()から、タグID(term_id)とタグ名(name)を取得して、投稿に設定されているタグ一覧をリンク付きで表示しています。

また、リンク先はそれぞれのタグのアーカイブページとなります。

get_the_tags()の他の戻り値など、詳細は以下の参考サイトを確認してみてください。

参考サイトなど

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。