[WordPress] タグ版wp_list_categories
スポンサーリンク
WordPressのwp_list_categories()はカテゴリー一覧をリスト表示してくれるタグです。当然タグ一覧を表示してくれるwp_list_tags()もあるのだろうと思ったらないんですね。
とはいえget_tags()もwp_list_categories()も内部的にはget_terms()を使っていますから、両者とも特定の目的に特化したラッパー関数にすぎません。(正確にはwp_list_categories()は内部でget_categoriesを呼び出し、get_categoriesがさらにget_terms()を呼び出している)
ということで、wp_list_categories()のタグ版ともいうべきwp_list_tags()にあたる関数を作成している方がいましたので紹介させていただきます。
wordpress : Listing tags like wp_list_categories – Enigmatic Apeから
function theme_list_tags ( $args ) {
$current_url = $_SERVER['REQUEST_URI'];
$tags = get_tags( $args );
$html = '<div class="taglist">';
foreach ($tags as $tag){
$tag_link = get_tag_link($tag->term_id);
$html .= "<li class='tag_item {$tag->slug}";
if( substr($tag_link, -strlen($current_url) ) === $current_url ) {
$html.=" current-tag";
}
$html .= "'><a href='{$tag_link}'>";
$html .= "{$tag->name}";
if( $args['show_count'] == true) {
$html .= " (".$tag->count.")";
}
$html .= "</a></li>";
}
$html .= '</div>';
echo $html;
}
上記のコードをfunction.phpにコピペして使います。関数名をwp_list_tagsにしていないのは、将来的に実装された場合にバッティングしないようにしているのでしょう。
使い方はwp_list_categories()と同じで引数はget_tags()に準じたものになります。
<?php
$args = array(
'orderby' => 'count' ,
'order' => 'DESC' ,
'show_count' => 1 ,
);
theme_list_tags($args);
?>
これでwp_list_categories()と同様にタグリストが表示されるようになりました。ありがたいことです。
スポンサーリンク
WordPressカテゴリーの投稿
- [WordPress] 記事が更新された回数を取得する
- [WordPress] ダッシュボードのウィジェットを表示オプションを使わずに非表示化する
- [WordPress] 関連記事をカテゴリーに基づきアイキャッチ画像つきで表示
- [WordPress] バックアッププラグインの特徴と機能比較
- [WordPress] have_comments()がFALSEを返しコメントが表示されない現象
- [WordPress] 個別記事ページでカテゴリーを表示するときの目的別の方法
- [PHP] 文字長がnバイト以下になるまで末尾の文字を1字づつカット
- [WordPress] wp_insert_post()でhtmlタグが除去されるのを防ぐ
- [WordPress] カテゴリー・タグ・カスタムタクソノミーを外部から登録・編集する
- [WordPress] カスタムフィールドで一つのキーに複数の値を保存