2014年08月27日 phpWordPress
WordPressでカテゴリ一覧を表示させるには、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_linkget_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');

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ピックアップ記事

ページIDで表示する画像を切り替える

2011年11月21日 WordPress
[php] <?php if(is_page(16)){ ?> <img src="<?php echo get_template_directory_uri(); ?>/images/mainImg_<?php the_ID() ;?>.jpg" /> <?php } ?> [/php]
「ページIDで表示する画像を切り替える」をはてなブックマークに追加

Hellod dolly をサイトに表示させてみる

2011年05月26日 WordPress
WordPressには、デフォルトで Hello Dolly という意味不明なプラグインが入っていますが、あまりにも意味不明なので、サイトに表示してみましょう (/_・)/ 以下は、Hello Dolly の説明です。 Hello Dolly(ハロー・ドリー) これはただのプラグインではありません。ルイ・アームストロングによって歌われた最も有名な二つの単語に要約される、同一世代のすべての人々の希…
「Hellod dolly をサイトに表示させてみる」をはてなブックマークに追加

指定カテゴリに属する記事の一覧を表示

2011年11月30日 WordPress
$categorysの配列を複数指定することで、複数のカテゴリから記事の一覧を取得することが可能です。 [php] <?php $categorys = array(27); for ($i=0; $i<count($categorys); $i++) : ?> <?php query_posts('cat='.$categorys[$i]); if (have_post…
「指定カテゴリに属する記事の一覧を表示」をはてなブックマークに追加

WordPressのWP-PageNaviが動かない場合の対処法

2012年02月04日 WordPress
WP-PageNaviは、WordPressでページングを可能にしてくれるプラグインですが、以下のように「query_posts」を指定していると、正常に動かないようです。 WP-PageNaviが正常に動かない例 [php]<?php if ( have_posts() ) : query_posts('cat=1&showposts=5' ); ?> [/php] 上記…
「WordPressのWP-PageNaviが動かない場合の対処法」をはてなブックマークに追加

PHPでGET送信かPOST送信かを判別する方法

2012年02月02日 php
$_SERVER["REQUEST_METHOD"] PHPでGET送信かPOST送信かを確認するには「$_SERVER["REQUEST_METHOD"]」を調べます。 使い方 [php] <?php //POST送信かどうか if($_SERVER["REQUEST_METHOD"] == "POST"){ echo "POST送信です…
「PHPでGET送信かPOST送信かを判別する方法」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy