WordPressの固定ページでカテゴリ一覧を表示したい。しかも簡単に!
色々と調査すると、ページテンプレートをいじくったり、ウィジットを固定ページに表示できるようにしたり、なんらかのプラグインを使ったり。
なにかいまいちしっくりこないし、手間もかかる。
やりたいのは、「簡単に!固定ページ、投稿ページで、ある親カテゴリに属するカテゴリの一覧を表示したい」だけなのだ。
function.phpにショートコードを準備
関数名 : categoryListA を準備
そいつを ショートコード
[catlista]
で呼び出せるようにする。
function categoryListA($args) { extract(shortcode_atts(array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => false , ), $args)); $categories = get_categories( $args ); $msg = ''; $msg = $msg.'<ul class="catelis_ul">'; foreach ( $categories as $category ) { $cat_link = get_category_link($category->cat_ID); $msg = $msg.'<li class="catelis_li">'; $msg = $msg.'<a href="' . $cat_link . '">' . $category->name . '</a>'; $msg = $msg.' ('.$category->category_count.')</li>'; } $msg = $msg.'</ul>'; return $msg; } add_shortcode('catlista', 'categoryListA');
ショートコードの使用方法
固定ページで、下記のようにショートコードとパラメータを書くだけです。
[catlista hide_empty=0 child_of=4]
パラメーターは get_categoriesのパラメーターそのものです。
上記の例は
child_of=4 で 親のカテゴリID 4番のカテゴリを表示
としています。
その他の詳細なパラメーターは、上記ワードプレスの関数リファレンスでご確認ください。
クラス設定もしてありますので、(catelis_ul catelis_li)必要であれば表示をCSSで変更できます。
また、投稿数表示が必要でなければ、その部分を削ることも可能です。