2014年08月27日 WordPressphp
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>

CAPTCHA


ピックアップ記事

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

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 ウィジェットに個別のid,classを設定する

2014年08月11日 web関連WordPress
WordPressのウィジェットに個別のid,classを設定して、違うデザインを適用したい場合は、functions.php内でサイドウィジェットを有効にする設定項目の「before_widget」の箇所を以下のように変更します。 [php]register_sidebar(array( 'name' => 'side-widget', 'before_wid…
「WordPress ウィジェットに個別のid,classを設定する」をはてなブックマークに追加

WordPressの投稿日からの経過日数を調べる(2つの日付の差分)

2013年10月04日 WordPressphp
WordPressの投稿日からの経過日数を調べる(2つの日付の差分)
ブログの記事が古い場合に「この記事は古いから注意してね〜」みたいなお知らせが表示されるサイトをたまに見かけませんか? このサイトも賞味期限切れの記事がありそうな気配がムンムンしてきたので、半年以上前の記事は古くなってますよ〜って表示しようと思い、調べてみました。 実装したコード [php]<?php function day_diff($date1, $date2)…
「WordPressの投稿日からの経過日数を調べる(2つの日付の差分)」をはてなブックマークに追加

php mb_convert_kanaがうまく動かないとき

2011年07月07日 php
mb_convert_kanaは半角カタカナを全角カタカナに直したり、半角スペースを全角に直したりするときに重宝する関数ですが、環境(サーバ設定かな)によっては、期待通りに動かない場合があるようです。 …
「php mb_convert_kanaがうまく動かないとき」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy