使用頻度が高いので、自分用にメモ。
運営中のサイトに少し手を加えたい場合や、自作プログラムの実行結果を自分だけに表示させて確認したい場合などに役立ちます。
ログインユーザーのみに内容を表示させる場合
[php]<?php if (is_user_logged_in()) : ?>
<!-- ログインユーザーのみに表示される箇所 -->
<?p…
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');
graffiti on the web
この投稿へのコメント
コメントはまだありません。