WordPress(Cocoon)でタグウィジェットの表示件数を絞り込む方法

IT・WEB
WordPressのタグウィジェットをサイドバーに設置していると、「投稿数が少ないタグまで表示されて見た目がごちゃごちゃする」という問題が起きがちです。 本記事では、Cocoonテーマ環境で、登録数が少ないタグ(●件以下)を非表示にする方法を3つ紹介します。
注意:ウィジェット標準機能だけで「投稿数●件以下のタグを非表示」にする設定はありません。以下のいずれかの方法で対応してください。

方法①:functions.phpで制御する(推奨)

もっともシンプルで確実な方法です。子テーマの functions.php にコードを追記するだけで動作します。

手順:子テーマの functions.php に追記する

以下のコードを、子テーマの functions.php の末尾にコピー&ペーストしてください。
add_filter('widget_tag_cloud_args', function($args) {
    $args['number'] = 0; // 全タグ対象
    $args['taxonomy'] = 'post_tag';
    $args['orderby'] = 'count';
    $args['order'] = 'DESC';
    return $args;
});

add_filter('get_terms_args', function($args, $taxonomies) {
    if (in_array('post_tag', (array)$taxonomies)) {
        $args['hide_empty'] = true; // 投稿0件のタグは除外
        $args['number'] = 0;
    }
    return $args;
}, 10, 2);

// 最低投稿数フィルタ
add_filter('get_terms', function($terms, $taxonomies, $args) {
    if (in_array('post_tag', (array)$taxonomies)) {
        $min_count = 5; // ← ここで「●件以下」を指定
        $terms = array_filter($terms, function($term) use ($min_count) {
            return $term->count > $min_count;
        });
    }
    return $terms;
}, 10, 3);

ポイント・カスタマイズ方法

  • $min_count = 5; の数値を変えるだけで閾値を変更できます
  • > 5 なので「5件以下のタグを非表示」にする設定です
  • たとえば3件以下を非表示にしたい場合は $min_count = 3; に変更してください
この方法はCocoonテーマとの相性が良く、テーマ更新の影響も受けにくいためもっともおすすめです。

方法②:プラグインを使用する(ノーコードで手軽)

コードを書きたくない方向けの方法です。プラグインの管理画面から投稿数による表示条件を設定できます。

おすすめプラグイン

  • Tag Groups:タグのグループ分けや表示条件の細かい制御が可能
  • Simple Tags:タグの一括管理・表示フィルタリングに対応
プラグインを追加するとサイトの動作に影響する場合があります。導入前にバックアップを取っておきましょう。

方法③:カスタムウィジェットを自作する(拡張性重視)

WordPressの開発経験がある方向けの方法です。WP_Term_Query を使って、タグの取得条件を完全にコントロールできます。

実装例

$tags = get_terms([
    'taxonomy'   => 'post_tag',
    'hide_empty' => true,
]);

// 5件以下のタグを除外
$tags = array_filter($tags, function($tag) {
    return $tag->count > 5;
});

// 残ったタグを出力
foreach ($tags as $tag) {
    echo '<a href="' . get_tag_link($tag) . '">' . $tag->name . '</a>';
}
この方法はウィジェットの表示デザインや並び順なども含めて自由に制御したい場合に適しています。

まとめ

方法 難易度 こんな人におすすめ
① functions.php ★★☆ コードを少し触れる方・確実な方法を求める方
② プラグイン ★☆☆ ノーコードで設定したい方・初心者の方
③ カスタム自作 ★★★ デザインや動作まで自由に制御したい上級者
一番シンプルで確実なのは 方法①(functions.php) です。$min_count の数値を変えるだけで件数のしきい値を自由に調整できます。ぜひ試してみてください。

コメント

タイトルとURLをコピーしました