WordPressの特定カテゴリーを非表示

WordPressを使っていると過去の記事でどうしても隠したい記事が出たり、修正加筆するまで隠しておこうと考える場合もあります。その際の非表示の方法を忘れないように書いておきたいと思います。

ブログベースのCMSであるWordPressでは投稿した記事にカテゴリーIDが採番されています。カテゴリーIDはWordPressの「投稿一覧」「カテゴリー」に番号を探す手がかりがあるので、そこから特定してゆきます。

上記のカテゴリーの名前を選択するとブラウザのURLのところに以下のようにIDを含んだ文字が出てきます。

これを覚えておいて一時的に隠すことにします。

ブログの場合はアーカイブやカテゴリーを投稿した記事のサイドバーなどでも表示している場合がありますので、単純にカテゴリーIDがわかったので消せると勘違いしがちですが、まずは全体的に上記のID4のカテゴリーを非表示にしてみます。

やり方は二つ考えらますが、私は「function.php」に記載する方法をよく使います。もう一つの方法はCSSで隠す方法で、style.cssに「.cat-item.cat-item-4{display:none;}」と書いてdisplay:none;で隠す方法もありますが、消えない場合もあるので、「function.php」を使う場合が多い気がします。

function.phpに以下の記載をします。
ウイジェットをカテゴリーIDを指定して隠す場合。

function exclude_widget_categories($args){
$args[‘exclude’] = ‘4’;
return $args;
}
add_filter( ‘widget_categories_args’, ‘exclude_widget_categories’);

または

//トップページから特定のカテゴリの除外
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( ‘cat’, ‘-4’, ‘-X’ );//マイナスをつけてカテゴリIDを除外する、複数の場合は,で区切って-Xのように追加
}
}
add_action( ‘pre_get_posts’, ‘exclude_category’ );

このようなかんじでしょうか。この関係のブログは沢山の方が書かれていますが私自身の備忘録的に残しています。
参考にさせていただいたブログは

綾糸.netさんの記事
Web365さんの記事

こちらを参考にさせていただきました。

この記事を書いた人