
目次
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 またはクエリ文字列で指定可能です。以下は主なパラメータ:
| パラメータ名 | 型 | 説明 |
|---|---|---|
smallest | int | 最小フォントサイズ(デフォルト:8) |
largest | int | 最大フォントサイズ(デフォルト:22) |
unit | string | フォントサイズの単位(例:pt, em, px) |
number | int | 表示するタグ数(デフォルト:全て) |
format | string | 表示形式:flat(スペース区切り)/ list(ul/li)/ array(配列) |
separator | string | flat 時の区切り文字(デフォルト:スペース) |
orderby | string | 並び順(name, count, rand) |
order | string | 昇順 ASC / 降順 DESC |
topic_count_text_callback | callable | 表示テキストを独自定義する関数 |
taxonomy | string | 対象タクソノミー(デフォルトは 'post_tag') |
echo | bool | true なら出力、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 における「コンテンツの傾向を可視化し、回遊性を高める」ための強力なツールです。デザイン性も高いため、サイドバーやフッターに設置するだけでも効果的です。