WordPressで特定のカテゴリー・タグを非表示にする方法

2019-08-16カスタマイズプラグイン不要

ワードプレスの標準ウィジェットでの表示方法カスタマイズです。

特定のカテゴリーを非表示にする
  • カテゴリーウィジェット
  • 投稿一覧
  • 最近の投稿ウィジェット(参考プラグインのみ)

 

特定のタグを非表示にする
  • タグクラウドウィジェット

 

今回は一部CSSで可能なものもありますが、「function.php」に追記する形で行います。

 

では順番に・・・。

 

準備

カテゴリーやタグには、投稿記事同様にワードプレスによるユニークIDが自動で振られます。そのユニークIDを調べる必要があります。

カテゴリーIDを調べる

投稿→カテゴリーを選択します。

 

非表示にしたいカテゴリーの上にマウスを載せます。

 

ブラウザの下にアドレスが出るので、そのID=XXの数字部分がIDになります。

以下の例なら 74

 

またはカテゴリーを編集する画面では、ブラウザアドレスにもIDが出ます。

 

タグIDを調べる

投稿→タグを選択します。

 

あとはカテゴリーの際と同様に、非表示にしたいタグのIDを調べます。

 

 

特定カテゴリーの非表示

カテゴリーウィジェット

 

 

「テスト」と「未分類」を非表示にした例

 

CSSで対応

子テーマのスタイルシート(style.css)に以下のように記述します。

.cat-item.cat-item-XX{display:none;}

cat-item-XX

XX の部分がカテゴリーのユニークIDになります。

複数のカテゴリーを非表示にしたい場合は、セミコロン( , )で区切って指定します。

.cat-item.cat-item-XX,.cat-item-XX{display:none;}

 

テーマによってはうまくいかない可能性があります。

 

ちなみに、他のサイトで必要に駆られて上記で対応したのですが、ルクセリタスではこの方法ではダメでした。とりあえずわかっているのはアフィンガーではいけた事。

〇 アフィンガー5
✖ ルクセリタス

 

上記で対応できない場合は、以下の方法で。

 

function.phpで対応

function.phpファイルは最悪ワードプレスが動かなくなる可能性のある重要ファイルですので、バックアップを用意して下さい。

function.phpを触らずにPHPコードを処理単位で記述・管理できるプラグインもあります。
詳しくは以下をご覧ください。

 

子テーマのfunction.phpに以下を記述します。
function exclude_widget_categories($args){
  $args['exclude'] = 'X';
  return $args;
}
add_filter( 'widget_categories_args', 'exclude_widget_categories');

exclude(除外)を使って各IDを指定します。

 

X の部分にユニークID(数字)を入れます。
$args['exclude'] = 'X';

 

複数のカテゴリーを非表示にしたい場合は、セミコロン( , )で区切って指定します。

$args['exclude'] = 'X,X,X';

 

 

投稿記事一覧

 

 

トップページを投稿記事一覧で表示している際、特定のカテゴリーの記事を一覧から除外する設定です。

 

function.phpで対応

子テーマのfunction.phpに以下を記述します。
function exclude_category( $query ) {
  if ( $query->is_home() && $query->is_main_query() ) {
    $query->set( 'cat', '-X' );
  }
}
add_action( 'pre_get_posts', 'exclude_category' );

 

X の部分にユニークID(数字)を入れます。
$query->set( 'cat', '-X' );

 

複数のカテゴリーを非表示にしたい場合は、セミコロン( , )で区切って指定します。

$query->set( 'cat', '-X,-X,-X' );

 

IDの数字の前に「-」をつけて指定します。

 

 

最近の投稿ウィジェットはプラグインで

 

こちらはまだ、プラグインを使わない実装カスタマイズを試していませんが、プラグインを利用すれば簡単に可能です。

 

プラグインで対応

以下のようなプラグインで可能です。

 

Category Posts Widget

  • 表示するカテゴリを指定
  • サムネイル(アイキャッチ画像)表示 など

↓ マウスを載せると「Copy」ボタンが出ます。

Category Posts Widget

 

 

Newpost Catch

日本語

  • 表示するカテゴリをIDで指定
  • カスタム投稿にも対応
  • サムネイル(アイキャッチ画像)表示 など

↓ マウスを載せると「Copy」ボタンが出ます。

Newpost Catch

 

Recent Posts Widget With Thumbnails

日本語

  • 表示するカテゴリを選択で指定
  • カスタム投稿は非対応
  • サムネイル(アイキャッチ画像)表示 など

↓ マウスを載せると「Copy」ボタンが出ます。

Recent Posts Widget With Thumbnails

 

Recent Posts Widget Extended

英語

  • カスタム投稿対応
  • サムネイル(アイキャッチ画像)表示
  • 特定のカテゴリを選択で指定
  • タイトルにリンク先を指定可能
  • 記事抜粋表示設定、を文字数指定も可

 

Recent Posts Widget Extended

 

 

特定タグの非表示

タグクラウドウィジェット

 

function.phpで対応

子テーマのfunction.phpに以下を記述します。
function customize_tag_cloud_args( $args ) {
  $custom_args = array(
    'exclude' => 'X'
  );
  $args = wp_parse_args($args, $custom_args);
  return $args;
}
add_filter( 'widget_tag_cloud_args', 'customize_tag_cloud_args');

 

X の部分にユニークID(数字)を入れます。
$args['exclude'] = 'X';

 

複数のカテゴリーを非表示にしたい場合は、セミコロン( , )で区切って指定します。

$args['exclude'] = 'X,X,X';