デフォルトでは、Categoriesから親カテゴリをクリックすると、親カテゴリとそれに属する子カテゴリの記事が一覧で表示される。それを親カテゴリの記事のみの表示にするカスタマイズ。
テスト環境:wp2.6.2
例えば、このサイトは「Blog」と言うカテゴリの下に「SLOT&PACHI」・「Game」・「Comics」というカテゴリがあります。
Blog
├ SLOT&PACHI
├ Game
└ Comics
サイドバーから「Blog」をクリックすると、「Blog」カテゴリとその子カテゴリに属している記事が全て表示される仕様のようです。これを「Blog」カテゴリに属している記事のみ表示するカスタマイズ。
- 参考
- 子カテゴリの記事を表示させないようにするには:Wordpress.org日本語 フォーラム
ここで提示されているコードでできました。以下コピペ。
<?php
if (is_category()) {
$current_cat = get_query_var('cat');
if ($children = get_categories('child_of='.$current_cat)) {
$exclude = array();
foreach ($children as $child)
$exclude[] = $child->term_id;
query_posts(array('cat'=>$current_cat, 'category__not_in' => $exclude));
}
}
?>
私の場合は、Aboutのカテゴリページで使用してます。Aboutカテゴリページ用のテンプレートをcategory-ID.php(*1) を作ってますので、そのテンプレートでループ開始の直前に上記のコードを挿入しました。
特に問題なく動いてます。
本当は件数も親カテゴリの横は合計ではなく、親カテゴリのみの記事件数にしたかったのですが、それはできませんでしたw
コアファイルいじらないとダメなのかな?
以下は、旧バージョンの備忘録。何かの参考になるかもしれないのでw
WP2.2.3MEでは、wp-includes/query.phpの884行目をコメントアウトすればできたはず
//$whichcat .= get_category_children($q['cat'], '', ', ');
- IDは実際は数字です [Back]
Dec
4:42
2008.12.08
843 views
注意














