カテゴリーページにサブカテゴリーを表示させる【WPハック】


結構前に、Wordpressでサイトを構築していてちょっと困ったことがありました。
サイドにカテゴリー一覧ではサブカテゴリーは表示できるけど、カテゴリーページを表示したときにそのカテゴリーIDを取ってきて、サブカテゴリーを表示さたかったんですね。もしかして、そういった方もいるかもしんないので、参考になれば。

最初に考えたコードはこう。

if (is_category()) {
  $this_category = get_category($cat);
  if (get_category_children($this_category->cat_ID) != "") {
    echo "<h1>Subcategories</h1>";
    echo "<ul>";
    wp_list_categories('orderby=id&show_count=0&title_li=
&use_desc_for_title=1&child_of='.$this_category->cat_ID);
    echo "</ul>";
  }
}

一見うまく行ったんですが、サブカテゴリーをクリックするとサブカテゴリーのページには行くが親カテゴリーが表示されない不具合(確かそんな感じ)があったんです。

次に考えたコードはこれ。

<?php
if (is_category()) {
$this_category = get_category($cat);
}
?>
<?php
if($this_category->category_parent)
$this_category = wp_list_categories(‘orderby=id&show_count=0
&title_li=&use_desc_for_title=1&child_of=’.$this_category->category_parent.
"&echo=0"); else
$this_category = wp_list_categories(‘orderby=id&depth=1&show_count=0
&title_li=&use_desc_for_title=1&child_of=’.$this_category->cat_ID.
"&echo=0");
if ($this_category) {
?>

ちょっと前に書いたコードなんで、もっといい方法があるかもしれんですよ。
このコードはwordpress Codexを参考にしました。


Facebook comments:

Leave a Reply

※コメントが認証されるまで、コメントは反映されません。






ポートフォリオを見る