WordPressには、投稿する記事を自動整形する機能があるんで、勝手に改行とかを入れてくれて便利なのですが、こいつが時々邪魔をします。
これを簡単に解決する方法がありましたので、投稿しておきます。…
WordPressでカテゴリ一覧を表示させるには、
関数リファレンス/wp parse args
wp_list_categories
というテンプレートタグがありますが、出力結果が思い通りにならないことが多いので、get_terms
を使って、カテゴリ一覧を表示させる方法です。
目次
カテゴリ一覧を表示させる
get_terms
でカテゴリ情報を取得するには、最初の引数にcategory
を指定します。
echo '<ul>'; $terms = get_terms( 'category', 'orderby=count&hide_empty=0' ); foreach($terms as $value): echo '<li><a href="'.get_category_link($value->term_id).'">'.$value->name.'('.$value->count.')</a></li>'; endforeach; echo '</ul>';
タグ一覧を表示させる
タグ一覧の表示は、上記のカテゴリ一覧を表示させるコードのcategory
の箇所をpost_tag
に、get_category_link
をget_tag_link
に変更すれば、タグの一覧を表示させることが出来ます。
echo '<ul>'; $terms = get_terms( 'post_tag', 'orderby=count&hide_empty=0' ); foreach($terms as $value): echo '<li><a href="'.get_tag_link($value->term_id).'">'.$value->name.'('.$value->count.')</a></li>'; endforeach; echo '</ul>';
引数
引数の形式は、orderby=count&hide_empty=0
の形式でも、配列形式でもかまいません。
配列形式の場合
$args = array( 'orderly' => 'count', 'hide_empty' => 0 ); $terms = get_terms( 'post_tag', $args );関数リファレンス/get terms
関数リファレンス/wp parse args
余談・・・
カテゴリの一覧表示とタグの一覧表示が並んでいるようなサイトを作ったりする場合は、PHPコードが見づらくなるので、以下のようにオリジナル関数を作って、使うことも有ります。
functions.php
function my_get_terms($term,$args){ echo '<ul>'; $term = get_terms( $term, $args ); foreach($term as $value): if($term == "category"): $url = get_category_link($value->term_id); elseif($term == "post_tag"): $url = get_tag_link($value->term_id); endif; echo '<li><a href="'.$url.'">'.$value->name.'('.$value->count.')</a></li>'; endforeach; echo '</ul>'; }
出力側.php
my_get_terms('category','orderby=count&hide_empty=0');
この投稿へのコメント
コメントはまだありません。