カテゴリーやタグ、タームのアーカイブページへのリンクを取得する

カテゴリー・タグ・タームのアーカイブページへのリンクを取得する方法をメモ。

カテゴリーの場合

カテゴリーの一覧を取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<ul>
<?php $arr = array(
    'hide_empty' => 0, // 投稿のないカテゴリーも含める
);
$categories = get_categories( $arr ); ?>
<?php foreach($categories as $category) : ?>
	<li>
		<a href="<?php echo get_category_link( $category->term_id ); ?>">
			<?php echo $category->name; ?>
		</a>
	</li>
<?php endforeach; ?>
</ul>

アーカイブページへのリンク付きのカテゴリー一覧を出力できました。

HTML

<ul>
	<li>
		<a href="http://XXXXX/category/cata/">
			カテゴリーA
		</a>
	</li>
	<li>
		<a href="http://XXXXX/category/catb/">
			カテゴリーB
		</a>
	</li>
	<li>
		<a href="http://XXXXX/category/catc/">
			カテゴリーC
		</a>
	</li>
</ul>

投稿に属しているカテゴリーを取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<?php $categories = get_the_category(); ?>
<?php foreach( $categories as $category ): ?>
	<a href="<?php echo get_category_link( $category->term_id ); ?>">
		<?php echo $category->name; ?>
	</a>
<?php endforeach; ?>

投稿に属しているカテゴリーを、アーカイブページへのリンク付きで出力できました。

HTML

	<a href="http://XXXXX/category/cata/">
		カテゴリーA
	</a>
get_category_link( $category_id ); 指定したカテゴリーIDのカテゴリーアーカイブページへのリンクを取得。

 

タグの場合

タグの一覧を取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<ul>
<?php $arr = array(
    'hide_empty' => 0, // 投稿のないタグも含める
);
$tags = get_tags( $arr ); ?>
<?php foreach($tags as $tag) : ?>
	<li>
		<a href="<?php echo get_tag_link( $tag->term_id ); ?>">
			<?php echo $tag->name; ?>
		</a>
	</li>
<?php endforeach; ?>
</ul>

アーカイブページへのリンク付きのタグ一覧を出力できました。

HTML

<ul>
	<li>
		<a href="http://XXXXX/tag/taga/">
			タグA
		</a>
	</li>
	<li>
		<a href="http://XXXXX/tag/tagb/">
			タグB
		</a>
	</li>
	<li>
		<a href="http://XXXXX/tag/tagc/">
			タグC
		</a>
	</li>
</ul>

投稿に属しているタグを取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<?php $tags = get_the_tags(); ?>
<?php foreach( $tags as $tag ): ?>
	<a href="<?php echo get_tag_link( $tag->term_id ); ?>">
		<?php echo $tag->name; ?>
	</a>
<?php endforeach; ?>

投稿に属しているタグを、アーカイブページへのリンク付きで出力できました。

HTML

	<a href="http://XXXXX/tag/taga/">
		タグA
	</a>
get_tag_link( $tag_id ); 指定したタグIDのタグアーカイブページへのリンクを取得。

 

タームの場合

今回は例として、genreというスラッグのタクソノミーを使う想定で試してみます。。
タームの一覧を取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<ul>
<?php $arr = array(
    'hide_empty' => 0, // 投稿のないタグも含める
);
$terms = get_terms( 'genre', $arr ); ?>
<?php foreach($terms as $term) : ?>
	<li>
		<a href="<?php echo get_term_link( $term->term_id, 'genre' ); ?>">
			<?php echo $term->name; ?>
		</a>
	</li>
<?php endforeach; ?>
</ul>

アーカイブページへのリンク付きのターム一覧を出力できました。

HTML

<ul>
	<li>
		<a href="http://XXXXX/genre/genrea/">
			ジャンルA
		</a>
	</li>
	<li>
		<a href="http://XXXXX/genre/genreb/">
			ジャンルB
		</a>
	</li>
	<li>
		<a href="http://XXXXX/genre/genrec/">
			ジャンルC
		</a>
	</li>
</ul>

投稿に属しているタームを取得して、ループ内でアーカイブページへのリンクを取得してみます。

PHP

<?php $terms = get_the_terms( $post->ID, 'genre' ); ?>
<?php foreach( $terms as $term ): ?>
	<a href="<?php echo get_term_link( $term->term_id, 'genre' ); ?>">
		<?php echo $term->name; ?>
	</a>
<?php endforeach; ?>

投稿に属しているタームを、アーカイブページへのリンク付きで出力できました。

HTML

	<a href="http://XXXXX/genre/genrea/">
		ジャンルA
	</a>
get_term_link( $term, $taxonomy ); 指定したタームのアーカイブページへのリンクを取得。
$termにはタームのオブジェクト・ID・スラッグのいずれか、$taxonomyにはタクソノミーのスラッグを指定。

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930