タグをクラウド形式ではなくリスト形式で表示させたいことってありませんか?
ついでに、各タグが設定されている投稿の件数も合わせて表示したい。
今回は、タグ一覧をリスト形式で表示させる方法をご紹介します。
タグの一覧は、コピペだけで設置可能です。
興味のある方は続きをどうぞ!
タグ一覧をリンクと件数付きで表示させる方法
タグ一覧を出力するには、関数「get_terms」を使います。
タグ一覧を表示させたいか所に、以下のコードを記述してください。
<ul>
<?php
$term_list = get_terms('post_tag');
$result_list = [];
foreach ($term_list as $term) {
$u = (get_term_link( $term, 'post_tag' ));
echo "<li><a href='".$u."'>".$term->name."</a>(".$term->count."件)</li>";
}
?>
</ul>
上記のコードを記述した個所に、以下のようなタグ一覧が表示されます。
<ul>
<li><a href="タグアーカイブページのURL">タグ名(〇件)</a></li>
<li><a href="タグアーカイブページのURL">タグ名(〇件)</a></li>
<li><a href="タグアーカイブページのURL">タグ名(〇件)</a></li>
<li><a href="タグアーカイブページのURL">タグ名(〇件)</a></li>
<li><a href="タグアーカイブページのURL">タグ名(〇件)</a></li>
</ul>
コードをコピペしただけで、タグ一覧を出力することができました。
簡単ですね。
出力されたリストの装飾はCSSで指定してください。
タグ一覧の表示条件を変更する
先ほどタグ一覧をリスト形式で表示させるコードをご紹介しました。
このコード、いろいろとカスタマイズすることができます。
- 投稿と紐づいていないタグを除外する。
- タグ一覧に表示するタグの件数を制限する。
- 特定のタグだけで一覧を構成する。
- 特定のタグを一覧から除外する。
個別にみていきましょう。
投稿と紐づいていないタグを除外する
投稿と紐づいていないタグを非表示にしたい場合は、以下のコードを使用しましょう。
先ほどのコードと一部内容が異なっています。
<ul>
<?php
$term_list = get_terms('post_tag', Array('hide_empty' => false));
$result_list = [];
foreach ($term_list as $term) {
$u = (get_term_link( $term, 'post_tag' ));
echo "<li><a href='".$u."'>".$term->name."</a>(".$term->count."件)</li>";
}
?>
</ul>
上記の赤文字部分が、先ほどご紹介したコードと異なっている部分となります。
投稿と紐づいていないタグを除外するためのコードです。
タグ一覧に表示するタグの件数を制限する
タグ一覧に全てのタグを表示させるのではなく、例えば、20件だけタグを表示したい場合など、以下の様に表示件数を指定してやります。
<ul>
<?php
$term_list = get_terms('post_tag', Array('number' => 20));
$result_list = [];
foreach ($term_list as $term) {
$u = (get_term_link( $term, 'post_tag' ));
echo "<li><a href='".$u."'>".$term->name."</a>(".$term->count."件)</li>";
}
?>
</ul>
赤文字部分が表示するタグの件数を指定している部分となります。
上記の場合、20件のタグが一覧表示されます。
30件のタグを表示したい場合は、【20】を【30】に書き換えてください。
特定のタグだけで一覧を構成する
タグ一覧に表示させるタグを一つずつ選んで表示させる方法です。
以下のコードを使用します。
<ul>
<?php
$term_list = get_terms('post_tag', Array('include' => array(タグID, タグID)));
$result_list = [];
foreach ($term_list as $term) {
$u = (get_term_link( $term, 'post_tag' ));
echo "<li><a href='".$u."'>".$term->name."</a>(".$term->count."件)</li>";
}
?>
</ul>
上記の赤文字部分に以下の個所があります。
array(タグID, タグID)
この【タグID】とある部分を、タグ一覧に表示させたいタグのIDに置き換えてやります。
例えば、表示させたいタグのIDが、1、2、3、10だった場合、以下のように記述します。
array(1, 2, 3, 10)
最後のタグIDの後ろに【,】は必要ありません。
ここに【,】を付けると正常に動作しなくなるので注意してください。
タグIDの調べ方は、WordPressの投稿IDやカテゴリーIDなど各種IDの調べ方で詳しく解説しておりますのでご覧ください。
特定のタグを一覧から除外する
タグ一覧に、特定のタグを表示させたくない場合。
以下のコードを使用します。
<ul>
<?php
$term_list = get_terms('post_tag', Array('exclude' => array(タグID, タグID)));
$result_list = [];
foreach ($term_list as $term) {
$u = (get_term_link( $term, 'post_tag' ));
echo "<li><a href='".$u."'>".$term->name."</a>(".$term->count."件)</li>";
}
?>
</ul>
上記の赤文字部分に以下の個所があります。
array(タグID, タグID)
この【タグID】とある部分を、タグ一覧に表示させたくないタグのIDに置き換えてやります。
例えば、表示させたくないタグのIDが、10、20、30、40だった場合、以下のように記述します。
array(10, 20, 30, 40)
最後のタグIDの後ろに【,】は必要ありません。
ここに【,】を付けると正常に動作しなくなるので注意してください。
まとめ
WordPressのタグ一覧をリンクと件数付で表示させる方法をご紹介しました。
get_terms()を使えば、タグ一覧をカテゴリーのようにリスト形式で表示することができます。
タグが紐付いている投稿の件数も表示可能です。
サイトのサイドエリアなどに設置してみてください。
コメントを残す