WordPressのカテゴリ表示から子(孫)カテゴリを除外する方法です。
このサイトの場合、左側に表示してるカテゴリ選択の一覧などで利用されます。
何も手を加えないとカテゴリ一覧には子や孫も含んだカテゴリが表示されます。
これを親なら親のみ、子なら子のみ、つまり自分自身のみのカテゴリ表示に変更します。
◆ 安全にfunctions.phpをカスタマイズする方法
functions.phpの修正に不安がある人は以下を参考にしてください。
functions.phpを直接修正するのは不具合時の対処やテーマ更新時に大変ですよね。それでも手間を減らす方法もあり、ここで紹介する方法と以下の記事の内容でそこそこ安全に改造できます。拡張用のfunctions.phpを新規作成する最初にカスタマイズ用のコードを記述するためのphpファイルを作成します。配置するディレクトリとファイル名は好みで大丈夫です。とりあえず、ここではfunctions.phpと同じディレクトリにextend-functions.phpとして作成し...
コードを追加する
functions.phpとかに以下のコードを追加します。
// カテゴリ一覧を自カテゴリに限定 (小カテゴリ除外)
add_action( 'parse_tax_query', function( $query ) {
if ( is_admin() || !$query->is_main_query() ) {
return;
}
if ( $query->is_category() ) {
if ( isset($query->tax_query->queries[0]['include_children']) ) {
$query->tax_query->queries[0]['include_children'] = false;
}
}
} );
あとがき
選んだカテゴリだけが表示されたほうが好みなんですが、ユーザーの好みはどっちなんでしょうね。
この記事は参考になりましたか?
コメント