wp_generate_tag_cloud()

wp_generate_tag_cloud()
目次

wp_generate_tag_cloud()の用途

wp_generate_tag_cloud() は、WordPress において タグクラウド(tag cloud) を生成するための関数です。タグクラウドとは、タグ一覧を視覚的に表示し、人気のあるタグは大きく、そうでないタグは小さく表現するレイアウトのことです。

この関数は、get_tags()get_terms() などで取得したターム情報をもとに、HTML文字列を生成して返します。テーマ内で echo することで、タグクラウドが表示されます。

wp_generate_tag_cloud()の基本構文

wp_generate_tag_cloud( array|string $tags, array|string $args = '' )

wp_generate_tag_cloud()のパラメータ

第1引数 $tags

  • タグの情報を含む配列(get_tags()get_terms() で取得)
  • または WordPress が内部で扱う “tag cloud array”
$tags = get_tags();

第2引数 $args(オプション)

array またはクエリ文字列で指定可能です。以下は主なパラメータ:

パラメータ名説明
smallestint最小フォントサイズ(デフォルト:8)
largestint最大フォントサイズ(デフォルト:22)
unitstringフォントサイズの単位(例:pt, em, px
numberint表示するタグ数(デフォルト:全て)
formatstring表示形式:flat(スペース区切り)/ list(ul/li)/ array(配列)
separatorstringflat 時の区切り文字(デフォルト:スペース)
orderbystring並び順(name, count, rand
orderstring昇順 ASC / 降順 DESC
topic_count_text_callbackcallable表示テキストを独自定義する関数
taxonomystring対象タクソノミー(デフォルトは 'post_tag'
echobooltrue なら出力、false なら HTML を返す(wp_tag_cloud() との違い)

wp_generate_tag_cloud()の基本的な使用例

$tags = get_tags();
echo wp_generate_tag_cloud( $tags );

→ タグの出現数に応じてサイズが変化したタグクラウドが表示されます。

よく使うカスタマイズ例

最小12px、最大24px、リスト形式で表示

$tags = get_tags();
$args = array(
    'smallest' => 12,
    'largest' => 24,
    'unit' => 'px',
    'format' => 'list'
);
echo wp_generate_tag_cloud( $tags, $args );

人気順にタグを10個表示

$tags = get_tags( array(
    'orderby' => 'count',
    'order' => 'DESC',
    'number' => 10
) );
echo wp_generate_tag_cloud( $tags );

wp_generate_tag_cloud()の出力形式の違い(format

format 値出力例
'flat'<a href="...">タグ1</a> <a href="...">タグ2</a>(スペース区切り)
'list'<ul><li><a href="...">タグ1</a></li>...</ul>(リスト形式)
'array'<a>...</a> の配列(文字列の配列を返す)

wp_tag_cloud() との違い

関数名説明出力
wp_tag_cloud()タグクラウドを直接出力する簡易関数echo される
wp_generate_tag_cloud()タグクラウドのHTMLを返す関数return(任意で echo

使い分けるなら:

  • 直接出力したいとき: wp_tag_cloud()
  • 一時変数に保持したい・加工したいとき: wp_generate_tag_cloud()

コールバックで表示文字列を変更

function my_tag_format( $count ) {
    return sprintf( '%s件の投稿', $count );
}

$tags = get_tags();
echo wp_generate_tag_cloud( $tags, array(
    'topic_count_text_callback' => 'my_tag_format'
) );

→ 各タグの title 属性が「○件の投稿」と表示されるようになります。

SEO & UXでの役割

  • タグクラウドは内部リンクの増加によるSEO効果が期待できます
  • 出現数に応じてサイズが変わるため、直感的なコンテンツ傾向の可視化が可能です
  • クリック可能なUIとして、ユーザーの回遊性を向上させることができます

wp_generate_tag_cloud()の注意点

  • タグ数が多すぎる場合は視認性が悪くなるため、number で上限を設けると良い
  • アクセシビリティを重視する場合は format => 'list' を推奨
  • デザイン調整が必要なら、タグクラウドに class を付与して CSS で制御する

wp_generate_tag_cloud()のまとめ

項目内容
関数名wp_generate_tag_cloud()
用途タグクラウド(視覚的なタグ一覧)を生成
特徴HTMLを文字列で返すため、柔軟に加工・出力できる
関連関数wp_tag_cloud()(直接出力する簡易版)

wp_generate_tag_cloud() は、WordPress における「コンテンツの傾向を可視化し、回遊性を高める」ための強力なツールです。デザイン性も高いため、サイドバーやフッターに設置するだけでも効果的です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次