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>

ピックアップ記事

wp-cron で予期しない HTTP 応答コード: 401 が頻発

2020年01月16日 WordPress
サイトの WP-Cron システムへの呼び出しが頻発する問題がありました。予期しない HTTP 応答コード: 401 原因 Wordpressサイトにベーシック認証をかけていたため 解決方法 [php]#ベーシック認証でWP Cronを許可 Satisfy Any order deny,allow deny from all allow from 192.168.11.25…
「wp-cron で予期しない HTTP 応答コード: 401 が頻発」をはてなブックマークに追加

TinyUrl のAPI を使ってURLを短縮する

2011年07月25日 php
TinyUrl のAPI を使ってURLを短縮する方法です。 簡単なので、色々応用が出来ると思います。 …
「TinyUrl のAPI を使ってURLを短縮する」をはてなブックマークに追加

PHP フォーム入力された文字エスケープ

2011年08月04日 php
PHPでフォームを作る場合、INPUTやTEXTAREAを使いますが、そこから受け取る内容はエスケープする必要があります。受け取ったまま表示したり、DB登録なんかをしてしまうと、思わぬトラブルにみまわれることになります。 …
「PHP フォーム入力された文字エスケープ」をはてなブックマークに追加

指定カテゴリに属する子カテゴリ名の一覧を取得(表示)

2011年11月28日 WordPress
以下の例では、カテゴリIDが30のカテゴリを親に持つ、子カテゴリ一覧を表示します。 [php] <?php $categories = get_terms( 'category', array( 'orderby' => 'count', 'hide_empty' => 0, 'child_of' => 30, ) ); foreach($cat…
「指定カテゴリに属する子カテゴリ名の一覧を取得(表示)」をはてなブックマークに追加

WordPress ソースコードを整形する SyntaxHighlighter

2011年05月27日 WordPress
SyntaxHighlighter Evolved を入れてみました。WordPress バージョン3.xx(調べるのメンドイ)ですが、ん~~すんなり動きませんでした。 デフォルトでは、コードを表示するにはしてくれるのですが、ソースをコピーなどのボタンが表示されない状態でした。 テンプレートの関係などあるのかなと思い、複数のテンプレートでも試しましたが、変化なしでした。 いろいろ調べました&…
「WordPress ソースコードを整形する SyntaxHighlighter」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy