当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「テンプレートタグ/wp tag cloud」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(除外・表示タグパラメータ修正、Creating a Tag Archive 節追加。(2007年9月25日 (火) 19:19 Sahaskatta 版より))
(最新のマージ)
 
(4人の利用者による、間の12版が非表示)
1行目: 1行目:
{{stub}}
 
 
<div id="Description">
 
<div id="Description">
 
== 説明 ==
 
== 説明 ==
 
</div>
 
</div>
[[テンプレートタグ/wp_tag_cloud|wp_tag_cloud]] は、各タグが記事に付けられた回数によってタグの文字サイズを決める、「タグクラウド」というタグの一覧を表示します。
 
  
<p class="important">注: このタグは WordPress バージョン '''2.3 以上'''でのみ使えます。</p>
+
[[テンプレートタグ/wp_tag_cloud|wp_tag_cloud()]] テンプレートタグは、「[[Wikipedia:ja:タグクラウド|タグクラウド]]」と呼ばれるタグの一覧を表示します。
 +
これは、各タグが投稿に付けられた回数によってタグの文字サイズが決まる一覧です。
 +
 
 +
[[Version 2.8|バージョン 2.8]] 以降、タクソノミー(カスタム分類)をもとにクラウドを作成できるよう、'''taxonomy''' パラメータが追加されています。
 +
これにより(投稿タグだけではなく)投稿カテゴリーや、[[カスタム分類]]のクラウドを表示することもできます。
  
 
<div id="Usage">
 
<div id="Usage">
 
== 使い方 ==
 
== 使い方 ==
 
</div>
 
</div>
<?php wp_tag_cloud('引数'); ?>
 
  
<div id="Examples">
+
<?php wp_tag_cloud( $args ); ?>
== 用例 ==
+
</div>
+
  
 
<div id="Default_Usage">
 
<div id="Default_Usage">
=== デフォルトでの使用 ===
+
=== デフォルトの使い方 ===
 
</div>
 
</div>
<pre>
 
$defaults = array('smallest' => 8, 'largest' => 22,
 
  'unit' => 'pt', 'number' => 45, 'format' => 'flat',
 
  'orderby' => 'name', 'order' => 'ASC', 'exclude' => '', 'include' => '');
 
</pre>
 
  
デフォルトのまま使うと、次のように表示します。
+
<?php wp_tag_cloud( $args ); ?>
* ''smallest'' - 最少数のタグを表示するフォントサイズを 8 (point) とする
+
 
* ''largest'' -  最多数のタグを表示するフォントサイズを 22 (point) とする
+
'''初期値:'''
* ''unit'' - 最少・最多値のフォントサイズの単位として 'pt' (point) を使用
+
<pre><?php $args = array(
 +
'smallest'                  => 8,
 +
'largest'                  => 22,
 +
'unit'                      => 'pt',
 +
'number'                    => 45, 
 +
'format'                    => 'flat',
 +
'separator'                => "\n",
 +
'orderby'                  => 'name',
 +
'order'                    => 'ASC',
 +
'exclude'                  => null,
 +
'include'                  => null,
 +
'topic_count_text_callback' => default_topic_count_text,
 +
'link'                      => 'view',
 +
'taxonomy'                  => 'post_tag',
 +
'echo'                      => true,
 +
'child_of'                  => null, // 注を参照
 +
); ?></pre>
 +
 
 +
 
 +
: '''注''':'''child_of''' キーは <code>wp_tag_cloud()</code> の直接の引数(パラメータ配列の一部)ではありません。しかし、このテンプレートタグは内部で <code>[[関数リファレンス/wp_parse_args|wp_parse_args()]]</code> と <code>[[関数リファレンス/get_terms|get_terms()]]</code> を使用するので、<code>[[関数リファレンス/get_terms|get_terms()]]</code> が受け入れる引数(パラメータ配列のキー)はどれでも使うことができます!
 +
 
 +
デフォルトでは次のように表示します。
 +
各タグの文字サイズは、付けられた投稿の数に応じて ''smallest''〜''largest'' の間で段階的に変化します。
 +
* ''smallest'' - 一番小さいタグを 8(pt) で表示(件数が少ないタグ)
 +
* ''largest'' -  一番大きいタグを 22(pt) で表示(件数が多いタグ)
 +
* ''unit'' - ''smallest'' と ''largest'' のフォントサイズの単位として 'pt' (point) を使用
 
* ''number'' - 最大 45 タグを表示
 
* ''number'' - 最大 45 タグを表示
* ''format'' - flat(ホワイトスペース区切り)形式でタグを表示
+
* ''format'' - <code>flat</code>(ホワイトスペース区切り)形式でタグを表示
 +
* ''separator'' - タグの間にホワイトスペースを表示
 
* ''orderby'' - タグ名順に表示
 
* ''orderby'' - タグ名順に表示
 
* ''order'' - 昇順でソート(前項でタグ名を指定しているので「タグ名の昇順」となる)
 
* ''order'' - 昇順でソート(前項でタグ名を指定しているので「タグ名の昇順」となる)
 
* ''exclude'' - 除外タグなし
 
* ''exclude'' - 除外タグなし
* ''include'' - 全タグ対象
+
* ''include'' - 全てのタグを含める
 +
* ''topic_count_text_callback'' - タグ数の表示形式を <code>default_topic_count_text</code> 関数で指定
 +
* ''link'' - リンクをクリックしてもタグを編集させない
 +
* ''taxonomy'' - 投稿タグを使ってクラウドを作る
 +
* ''echo'' - 結果を表示する
  
  <?php wp_tag_cloud(); ?>
+
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 
 +
{{Parameter|smallest|整数|最少使用数のタグの表示に使うフォントサイズ(単位は <var>unit</var> パラメータで指定)。|オプション|8}}
 +
 
 +
{{Parameter|largest|整数|最多使用数のタグの表示に使うフォントサイズ(単位は <var>unit</var> パラメータで指定)。|オプション|22}}
 +
 
 +
{{Parameter|unit|文字列|'''smallest''' と '''largest''' の値の単位。<code>pt, px, em, %</code> 等、CSS でフォントサイズに用いる単位を指定可能。|オプション|<code>'pt'</code>}}
 +
 
 +
{{Parameter|number|整数|クラウドに表示するタグ数(<code>'0'</code> を指定すると全てのタグを表示)。|オプション|45}}
 +
 
 +
{{Parameter|format|文字列|クラウド表示のフォーマット。|オプション|flat}}
 +
:* <tt>'flat'</tt> - タグをホワイトスペース(<var>separator</var> パラメータで定義)で区切る。
 +
:* <tt>'list'</tt> - タグを <code>class='wp-tag-cloud'</code> 付きの <code>ul</code>(番号なし箇条書き)内に表示。
 +
:* <tt>'array'</tt> - タグを配列に格納し、タグクラウドデータを PHP で扱えるように配列のまま返す。'''注''':配列の取得(表示ではなく)は [[Version 2.5|WordPress 2.5]] 以上で使えます。
 +
 
 +
{{Parameter|separator|文字列|タグの間に表示するテキストまたはスペース。|オプション|<code><nowiki>"\n"</nowiki></code>(空白)}}
 +
 
 +
{{Parameter|orderby|文字列|タグの表示順とする項目。|オプション|name}}
 +
:* <code>'name'</code> - タグ名
 +
:* <code>'count'</code> - 使用数
 +
 
 +
{{Parameter|order|文字列|ソート順。|オプション|ASC}}
 +
:* <code>'ASC'</code>  - 昇順(初期値)
 +
:* <code>'DESC'</code> - 降順
 +
:* <code>'RAND'</code> - ランダム([[Version 2.5|WordPress 2.5]] 以上で指定可能)
 +
 
 +
{{Parameter|exclude|文字列|除外するタグの <code>term_id</code> をコンマ区切りで指定。例えば、<code><nowiki>'exclude=5,27'</nowiki></code> とすれば <code>term_id</code> が 5 と 27 のタグは表示されない。デフォルトでは除外なし。|オプション|null}}
 +
 
 +
{{Parameter|include|string|表示対象とするタグの <code>term_id</code> をコンマ区切りで指定。例えば、<code><nowiki>'include=5,27'</nowiki></code> とすれば <code>term_id</code> が 5 または 27 のタグのみを表示。デフォルトでは全てのタグが対象。|オプション|null}}
 +
 
 +
{{Parameter|topic_count_text_callback|文字列|タグリンクの <code>title</code> 属性に設定される「タグの件数」の文字列を返す関数(投稿の数とタグを与えられて「ツールチップ」文字列を返す)の関数名。|オプション|<code>default_topic_count_text</code>}}
 +
 
 +
{{Parameter|link|文字列|特定のタグを編集できるようリンクを設定。|オプション|view}}
 +
:* <tt>'view'</tt> - 閲覧(初期値)
 +
:* <tt>'edit'</tt> - 編集
 +
 
 +
{{Parameter|taxonomy|文字列&#124;配列|クラウドの生成に使うタクソノミー、またはタクソノミーの配列。'''注''':このパラメータは [[Version 2.8|WordPress 2.8]] にて導入された。|オプション|post_tag}}
 +
:* <tt>'post_tag'</tt> - 投稿タグ
 +
:* <tt>'category'</tt> - 投稿カテゴリー
 +
:* <tt>'link_category'</tt> - リンクのカテゴリー
 +
:* <tt>登録済みのカスタム分類(タクソノミー)</tt>
 +
:* <tt>または、タクソノミーの配列</tt> - '''注''':これは[[Version 3.1|バージョン 3.1]] 以降で使えます。
 +
 
 +
{{Parameter|echo|真偽値|結果を表示するか、変数に入れるか。デフォルトは ''true'' (タグクラウドを表示)。|オプション|true}}
 +
:* <tt>1 (true)</tt>  - 表示
 +
:* <tt>0 (false)</tt> - 値を返す(表示しない)
 +
 
 +
<div id="Examples">
 +
== 用例 ==
 +
</div>
  
 
<div id="Cloud_displayed_under_Popluar_Tags_title">
 
<div id="Cloud_displayed_under_Popluar_Tags_title">
=== タイトル「Popluar Tags」の下にタグクラウドを表示 ===
+
=== タイトル「人気のタグ」の下にタグクラウドを表示 ===
 
</div>
 
</div>
 +
 
<pre>
 
<pre>
<?php if ( function_exists('wp_tag_cloud') ) : ?>
+
<?php if ( function_exists( 'wp_tag_cloud' ) ) : ?>
<li>
+
 
<h2>Popular Tags</h2>
+
<h2>人気のタグ</h2>
<ul>
+
<li><?php wp_tag_cloud( 'smallest=8&largest=22' ); ?></li>
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
+
 
</ul>
+
</li>
+
 
<?php endif; ?>
 
<?php endif; ?>
 
</pre>
 
</pre>
(前後を <code>ul</code> で括るなら <code>format=list</code> かも?)
+
<!-- <ul> は不要なので削除。上のとおりなら <ul> は不要、format=list にしても <ul> 込みで出力されるため。  -->
 
+
'''注''':全体が <code><nowiki><li>〜</li></nowiki></code> で括られているのは、デフォルトテーマなどのサイドバー用の形式です。サイドバー全体が順不同リスト(<tt>&lt;ul&gt;</tt>)の入れ子になっています([[サイドバーのカスタマイズ]]/[[:en:Customizing Your Sidebar|en]] 参照)。
全体が <code><nowiki><li></nowiki></code> で括られているのは、デフォルトテーマなどのサイドバー用の形式。サイドバー全体が番号なし箇条書きの入れ子でできている([[サイドバーのカスタマイズ]]/[[:en:Customizing Your Sidebar|en]] 参照)。
+
  
 
<div id="Cloud_limited_in_size_and_ordered_by_count_rather_than_name">
 
<div id="Cloud_limited_in_size_and_ordered_by_count_rather_than_name">
===サイズ指定、タグ名ではなく使用数順のタグクラウド===
+
=== サイズ指定、タグ名ではなく使用数順のタグクラウド ===
 
</div>
 
</div>
<?php wp_tag_cloud('smallest=8&largest=22&number=30&orderby=count'); ?>
 
  
<div id="Parameters">
+
<?php wp_tag_cloud( 'smallest=15&largest=40&number=50&orderby=count' ); ?>
== パラメータ ==
+
 
 +
<div id="Cloud_returned_as_array_but_not_displayed">
 +
=== タグクラウドを表示せずに配列として取得 ===
 
</div>
 
</div>
; smallest
 
: (''整数'') 最少使用数のタグの表示に使うフォントサイズ。初期値は 8。
 
; largest
 
: (''整数'') 最多使用数のタグの表示に使うフォントサイズ。初期値は 22。
 
; unit
 
: (''文字列'') '''smallest'''・'''largest'''の値の単位。初期値は point の '''pt'''。
 
; number
 
: (''整数'') クラウドに表示するタグ数。初期値は 45。<code>'0'</code> を指定すると全タグを表示。
 
; format
 
: (''文字列'') クラウド表示のフォーマット
 
:* <code>'flat'</code> (初期値) タグをホワイトスペースで区切る
 
:* <code>'list'</code> タグを <code>class='wp-tag-cloud'</code> 付きの <code>ul</code>(番号なし箇条書き)内に表示
 
:* <code>'array'</code> tags are in an array(タグを配列に格納?配置の形を指しているのか未確認)
 
; orderby
 
: (''文字列'') タグの表示順とする項目。有効値:
 
:* <code>'name'</code>  - タグ名(初期値)
 
:* <code>'count'</code> - 使用数
 
; order
 
: (''文字列'') ソート順。有効値:
 
:* <code>'ASC'</code>  - 昇順(初期値)
 
:* <code>'DESC'</code> - 降順
 
; exclude
 
: (''文字列'') 除外するタグの <code>term_id</code> をカンマ区切りで指定。例えば、<code>'exclude=5,27'</code> とすれば <code>term_id</code> が 5 と 27 のタグは表示されない。デフォルトでは除外なし。
 
; include
 
: (''文字列'') 表示対象とするタグの <code>term_id</code> をカンマ区切りで指定。例えば、<code>'include=5,27'</code> とすれば <code>term_id</code> が 5 または 27 のタグのみを表示。デフォルトでは全てのタグが対象。
 
  
== Creating a Tag Archive ==
+
タグクラウドのデータを他の PHP コードで使うために、変数 <code>$tag</code> に格納します。
While the new tagging feature in 2.3 is a great addition, the wp_tag_cloud tag can be used to display a Tag Archive. What this means is that when a visitor clicks on any particular tag a page displaying the tag cloud and all posts tagged the same will be displayed.
+
  <?php $tag = wp_tag_cloud( 'format=array' ); ?>
  
To do this a new template will need to be added to your theme files.  This is a good resource for everything pertaining to [[Templates|templates]].  Basic steps needed are
+
<div id="Display_a_Category_Cloud">
 +
=== カテゴリークラウドを表示 ===
 +
</div>
  
*1. Create file with the contents below.
+
'''taxonomy''' 引数を使ってカテゴリーのクラウドを表示します。
*2. Upload file to your themes directory.
+
*3. Create a new blank page using this template.
+
  
To elobarate more on step three.
+
<?php wp_tag_cloud( array( 'taxonomy' => 'category' ) ); ?>
  
WordPress can be configured to use different Page Templates for different Pages. Toward the bottom of the Write->Write Page administration panel (or on the sidebar, depending on which version of WordPress you are using) is a drop-down labeled "Page Template". From there you can select which Template will be used when displaying this particular Page.
+
<div id="Display_a_Cloud_of_Categories_and_Tags">
 +
=== カテゴリーとタグの両方を含むクラウドを表示 ===
 +
</div>
 +
 
 +
'''taxonomy''' 引数に配列を与えることにより、カテゴリーとタグの両方を含むクラウドを表示します。
 +
 
 +
<pre>
 +
<?php
 +
$args = array(
 +
'taxonomy' => array( 'post_tag', 'category' ),
 +
);
 +
 
 +
wp_tag_cloud( $args );
 +
?>
 +
</pre>
 +
 
 +
<div id="Change_Title_Text_of_Cloud_Links">
 +
=== クラウドからのリンクのタイトル文字列を変更 ===
 +
</div>
 +
 
 +
'''topic_count_text_callback''' 引数を使って、新しいコールバック関数を与えます。
 +
オリジナルの関数 <code>default_topic_count_text()</code> は <code>/wp-includes/category-template.php</code> にあります。
 +
この例はタイトル文字列のデフォルト "topics" を "pictures" に変えます。
 +
(訳注:WordPress 日本語版のデフォルトは「〜件のトピック」。)
 +
 
 +
<pre>
 +
<?php
 +
wp_tag_cloud( array( 'topic_count_text_callback' => 'my_tag_text_callback' ) );
 +
 
 +
function my_tag_text_callback( $count ) {
 +
return sprintf( _n( '%s picture', '%s pictures', $count ), number_format_i18n( $count ) );
 +
}
 +
?>
 +
</pre>
 +
 
 +
 
 +
<div id="Creating_a_Tag_Archive">
 +
== タグアーカイブの作成 ==
 +
</div>
 +
 
 +
素晴らしいタグ機能がバージョン 2.3 で追加された一方で、wp_tag_cloud テンプレートタグはタグアーカイブを表示するのにも使えます。
 +
つまり、読者があるタグをクリックすると、<!--タグクラウドと-->そのタグが付いている全ての投稿を表示することができます。
 +
[[テンプレート階層#Tag_page|テンプレート階層]]に示すとおり、tag.php テンプレートが存在しない場合は archives.php テンプレートが使われます。
 +
この tag.php テンプレートを作ることによって、タグアーカイブの表示をカスタマイズできます。
 +
例えばタグクラウドをページの最上部に表示させて、より便利なナビゲーションを付けることができます。
 +
 
 +
これを実際に行うには、あなたのテーマに新しくテンプレートを追加する必要があります。
 +
以下は[[テンプレート]]や[[テンプレート階層#Tag_display|テンプレート階層]]に関係した良い見本です。
 +
 
 +
基本的な手順は次のとおりです:
 +
# コンテンツを作成し、tag.php という名前のファイルに保存する。
 +
# ファイルをあなたが使用しているテーマのディレクトリにアップロードする。
 +
# '''これは任意です。ページナビゲーションにタグアーカイブへのリンクを入れたい場合は行ってください。行わない場合は、タグをクリックしたときにこのテンプレートが使用されます。'''
 +
#* 新しくページを作成し、このテンプレートを適用し、ページ名を ''タグアーカイブ'' とする。
 +
 
 +
3 番目のステップを詳しく説明します:
 +
 
 +
WordPress は異なるページテンプレートを各ページごとに使用することができます。
 +
管理パネルの ''固定ページ > 新規追加'' で表示されるページの中に (使用中の WordPress バージョンによってはサイドバーにあります) 「テンプレート」という名前のドロップダウンがあります。
 +
そこでどのテンプレートを使ってページを表示するかを選択できます。
  
 
<pre>
 
<pre>
 
<?php /*
 
<?php /*
Template Name: Tag Archive
+
Template Name: タグアーカイブ
 
*/ ?>
 
*/ ?>
<div id="content">
+
<div>
<h2>Tag Archive</h2>
+
 
<?php get_header(); ?>
 
<?php get_header(); ?>
<?php wp_tag_cloud(''); ?>
+
<h2>タグアーカイブ</h2>
<div class="navigation">
+
<?php wp_tag_cloud( '' ); ?>
<div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
+
<div class="navigation">
<div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
+
<div class="alignleft"><?php next_posts_link( '&laquo; 古い投稿' ); ?></div>
</div>
+
<div class="alignright"><?php previous_posts_link( '新しい投稿 &raquo;' ); ?></div>
<?php if (have_posts()) : ?>
+
</div>
<?php while (have_posts()) : the_post(); ?>
+
<?php if ( have_posts() ) : ?>
<h2 class="posttitle"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
+
<?php while ( have_posts() ) : the_post(); ?>
<div class="entry">
+
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>へのパーマリンク"><?php the_title(); ?></a></h2>
<?php the_content('Read the rest of this entry &raquo;'); ?>
+
<div class="entry">
</div>
+
<?php the_content( '続きを読む &raquo;' ); ?>
 
+
</div>
 
<?php endwhile; ?>
 
<?php endwhile; ?>
<?php endif; ?>
+
<?php endif; ?>
 
</div>
 
</div>
 
<?php get_footer(); ?>
 
<?php get_footer(); ?>
 
</pre>
 
</pre>
  
Please Note that styling has not been added to this template.  A good way to determine the structure that your theme uses is to view the single.php theme file.
 
  
{{原文|Template Tags/wp_tag_cloud}}
+
このテンプレートはスタイリングされていないことに注意してください。
 +
使用中のテーマの single.php ファイルを見て構造を決めると良いでしょう。
 +
 
 +
<div id="Change_Log">
 +
== 変更履歴 ==
 +
</div>
 +
 
 +
* [[Version 3.1|3.1]] : <code>taxonomy</code> パラメータに配列を与えることができるようになりました。
 +
 
 +
* [[Version 2.9|2.9]] : <code>separator</code> パラメータが追加されました。
 +
 
 +
* [[Version 2.8|2.8]] : <code>taxonomy</code> および <code>echo</code> パラメータが追加されました。
 +
 
 +
* [[Version 2.7|2.7]] : <code>link</code> パラメータが追加されました。
 +
 
 +
* [[Version 2.5|2.5]] :
 +
** パラメータ <code>order</code>(ソート順)の値として <code>'RAND'</code> を指定できるようになりました。
 +
** パラメータ <code>format</code>(表示形式)で <code>'array'</code> を指定したとき、表示せずに値を返すようになりました。
 +
 
 +
* [[Version 2.3|2.3]] : 新規テンプレートタグ
 +
 
 +
<div id="Source_File">
 +
== ソースファイル ==
 +
</div>
 +
 
 +
<tt>wp_tag_cloud()</tt> は {{Trac|wp-includes/category-template.php}} にあります。
 +
 
 +
<div id="Related">
 +
== 関連項目 ==
 +
</div>
 +
 
 +
{{Tag Tag Tags}}
 +
 
 +
{{Tag Footer}}
  
== Related ==
+
{{原文|Function Reference/wp_tag_cloud|145546}} <!--  23:52, 12 August 2014‎ Jennybelanger 版 -->
{{Tag Category Tags}}
+
{{PHP Function Tag Footer}}
+
  
{{DEFAULTSORT:wp_tag_cloud}}
+
{{DEFAULTSORT:Wp_tag_cloud}}
 +
[[Category:テンプレートタグ]]
 
[[Category:wp2.3]]
 
[[Category:wp2.3]]
 +
[[Category:wp2.5]]
 +
[[Category:wp2.8]]
 +
[[Category:wp2.9]]
 +
[[Category:wp3.1]]
  
[[en:Template Tags/wp_tag_cloud]]
+
[[en:Function Reference/wp_tag_cloud]]
 
[[fr:Marqueurs de Tags/wp_tag_cloud]]
 
[[fr:Marqueurs de Tags/wp_tag_cloud]]
 +
[[it:Riferimento funzioni/wp_tag_cloud]]

2015年7月22日 (水) 11:57時点における最新版

wp_tag_cloud() テンプレートタグは、「タグクラウド」と呼ばれるタグの一覧を表示します。 これは、各タグが投稿に付けられた回数によってタグの文字サイズが決まる一覧です。

バージョン 2.8 以降、タクソノミー(カスタム分類)をもとにクラウドを作成できるよう、taxonomy パラメータが追加されています。 これにより(投稿タグだけではなく)投稿カテゴリーや、カスタム分類のクラウドを表示することもできます。

使い方

<?php wp_tag_cloud( $args ); ?>

デフォルトの使い方

<?php wp_tag_cloud( $args ); ?>

初期値:

<?php $args = array(
	'smallest'                  => 8, 
	'largest'                   => 22,
	'unit'                      => 'pt', 
	'number'                    => 45,  
	'format'                    => 'flat',
	'separator'                 => "\n",
	'orderby'                   => 'name', 
	'order'                     => 'ASC',
	'exclude'                   => null, 
	'include'                   => null, 
	'topic_count_text_callback' => default_topic_count_text,
	'link'                      => 'view', 
	'taxonomy'                  => 'post_tag', 
	'echo'                      => true,
	'child_of'                  => null, // 注を参照
); ?>


child_of キーは wp_tag_cloud() の直接の引数(パラメータ配列の一部)ではありません。しかし、このテンプレートタグは内部で wp_parse_args()get_terms() を使用するので、get_terms() が受け入れる引数(パラメータ配列のキー)はどれでも使うことができます!

デフォルトでは次のように表示します。 各タグの文字サイズは、付けられた投稿の数に応じて smallestlargest の間で段階的に変化します。

  • smallest - 一番小さいタグを 8(pt) で表示(件数が少ないタグ)
  • largest - 一番大きいタグを 22(pt) で表示(件数が多いタグ)
  • unit - smallestlargest のフォントサイズの単位として 'pt' (point) を使用
  • number - 最大 45 タグを表示
  • format - flat(ホワイトスペース区切り)形式でタグを表示
  • separator - タグの間にホワイトスペースを表示
  • orderby - タグ名順に表示
  • order - 昇順でソート(前項でタグ名を指定しているので「タグ名の昇順」となる)
  • exclude - 除外タグなし
  • include - 全てのタグを含める
  • topic_count_text_callback - タグ数の表示形式を default_topic_count_text 関数で指定
  • link - リンクをクリックしてもタグを編集させない
  • taxonomy - 投稿タグを使ってクラウドを作る
  • echo - 結果を表示する

パラメータ

smallest
整数) (オプション) 最少使用数のタグの表示に使うフォントサイズ(単位は unit パラメータで指定)。
初期値: 8
largest
整数) (オプション) 最多使用数のタグの表示に使うフォントサイズ(単位は unit パラメータで指定)。
初期値: 22
unit
文字列) (オプションsmallestlargest の値の単位。pt, px, em, % 等、CSS でフォントサイズに用いる単位を指定可能。
初期値: 'pt'
number
整数) (オプション) クラウドに表示するタグ数('0' を指定すると全てのタグを表示)。
初期値: 45
format
文字列) (オプション) クラウド表示のフォーマット。
初期値: flat
  • 'flat' - タグをホワイトスペース(separator パラメータで定義)で区切る。
  • 'list' - タグを class='wp-tag-cloud' 付きの ul(番号なし箇条書き)内に表示。
  • 'array' - タグを配列に格納し、タグクラウドデータを PHP で扱えるように配列のまま返す。:配列の取得(表示ではなく)は WordPress 2.5 以上で使えます。
separator
文字列) (オプション) タグの間に表示するテキストまたはスペース。
初期値: "\n"(空白)
orderby
文字列) (オプション) タグの表示順とする項目。
初期値: name
  • 'name' - タグ名
  • 'count' - 使用数
order
文字列) (オプション) ソート順。
初期値: ASC
  • 'ASC' - 昇順(初期値)
  • 'DESC' - 降順
  • 'RAND' - ランダム(WordPress 2.5 以上で指定可能)
exclude
文字列) (オプション) 除外するタグの term_id をコンマ区切りで指定。例えば、'exclude=5,27' とすれば term_id が 5 と 27 のタグは表示されない。デフォルトでは除外なし。
初期値: null
include
string) (オプション) 表示対象とするタグの term_id をコンマ区切りで指定。例えば、'include=5,27' とすれば term_id が 5 または 27 のタグのみを表示。デフォルトでは全てのタグが対象。
初期値: null
topic_count_text_callback
文字列) (オプション) タグリンクの title 属性に設定される「タグの件数」の文字列を返す関数(投稿の数とタグを与えられて「ツールチップ」文字列を返す)の関数名。
初期値: default_topic_count_text
link
文字列) (オプション) 特定のタグを編集できるようリンクを設定。
初期値: view
  • 'view' - 閲覧(初期値)
  • 'edit' - 編集
taxonomy
文字列|配列) (オプション) クラウドの生成に使うタクソノミー、またはタクソノミーの配列。:このパラメータは WordPress 2.8 にて導入された。
初期値: post_tag
  • 'post_tag' - 投稿タグ
  • 'category' - 投稿カテゴリー
  • 'link_category' - リンクのカテゴリー
  • 登録済みのカスタム分類(タクソノミー)
  • または、タクソノミーの配列 - :これはバージョン 3.1 以降で使えます。
echo
真偽値) (オプション) 結果を表示するか、変数に入れるか。デフォルトは true (タグクラウドを表示)。
初期値: true
  • 1 (true) - 表示
  • 0 (false) - 値を返す(表示しない)

用例

タイトル「人気のタグ」の下にタグクラウドを表示

<?php if ( function_exists( 'wp_tag_cloud' ) ) : ?>

<h2>人気のタグ</h2>
<li><?php wp_tag_cloud( 'smallest=8&largest=22' ); ?></li>

<?php endif; ?>

:全体が <li>〜</li> で括られているのは、デフォルトテーマなどのサイドバー用の形式です。サイドバー全体が順不同リスト(<ul>)の入れ子になっています(サイドバーのカスタマイズ/en 参照)。

サイズ指定、タグ名ではなく使用数順のタグクラウド

<?php wp_tag_cloud( 'smallest=15&largest=40&number=50&orderby=count' ); ?>

タグクラウドを表示せずに配列として取得

タグクラウドのデータを他の PHP コードで使うために、変数 $tag に格納します。

<?php $tag = wp_tag_cloud( 'format=array' ); ?>

カテゴリークラウドを表示

taxonomy 引数を使ってカテゴリーのクラウドを表示します。

<?php wp_tag_cloud( array( 'taxonomy' => 'category' ) ); ?>

カテゴリーとタグの両方を含むクラウドを表示

taxonomy 引数に配列を与えることにより、カテゴリーとタグの両方を含むクラウドを表示します。

<?php 
	$args = array(
		'taxonomy' => array( 'post_tag', 'category' ), 
	); 

	wp_tag_cloud( $args );
?>

topic_count_text_callback 引数を使って、新しいコールバック関数を与えます。 オリジナルの関数 default_topic_count_text()/wp-includes/category-template.php にあります。 この例はタイトル文字列のデフォルト "topics" を "pictures" に変えます。 (訳注:WordPress 日本語版のデフォルトは「〜件のトピック」。)

<?php 
	wp_tag_cloud( array( 'topic_count_text_callback' => 'my_tag_text_callback' ) ); 

	function my_tag_text_callback( $count ) {
		return sprintf( _n( '%s picture', '%s pictures', $count ), number_format_i18n( $count ) );
	}
?>


タグアーカイブの作成

素晴らしいタグ機能がバージョン 2.3 で追加された一方で、wp_tag_cloud テンプレートタグはタグアーカイブを表示するのにも使えます。 つまり、読者があるタグをクリックすると、そのタグが付いている全ての投稿を表示することができます。 テンプレート階層に示すとおり、tag.php テンプレートが存在しない場合は archives.php テンプレートが使われます。 この tag.php テンプレートを作ることによって、タグアーカイブの表示をカスタマイズできます。 例えばタグクラウドをページの最上部に表示させて、より便利なナビゲーションを付けることができます。

これを実際に行うには、あなたのテーマに新しくテンプレートを追加する必要があります。 以下はテンプレートテンプレート階層に関係した良い見本です。

基本的な手順は次のとおりです:

  1. コンテンツを作成し、tag.php という名前のファイルに保存する。
  2. ファイルをあなたが使用しているテーマのディレクトリにアップロードする。
  3. これは任意です。ページナビゲーションにタグアーカイブへのリンクを入れたい場合は行ってください。行わない場合は、タグをクリックしたときにこのテンプレートが使用されます。
    • 新しくページを作成し、このテンプレートを適用し、ページ名を タグアーカイブ とする。

3 番目のステップを詳しく説明します:

WordPress は異なるページテンプレートを各ページごとに使用することができます。 管理パネルの 固定ページ > 新規追加 で表示されるページの中に (使用中の WordPress バージョンによってはサイドバーにあります) 「テンプレート」という名前のドロップダウンがあります。 そこでどのテンプレートを使ってページを表示するかを選択できます。

<?php /*
Template Name: タグアーカイブ
*/ ?>
<div>
<?php get_header(); ?>
<h2>タグアーカイブ</h2>
<?php wp_tag_cloud( '' ); ?>
<div class="navigation">
	<div class="alignleft"><?php next_posts_link( '« 古い投稿' ); ?></div>
	<div class="alignright"><?php previous_posts_link( '新しい投稿 »' ); ?></div>
</div>
<?php if ( have_posts() ) : ?>
	<?php while ( have_posts() ) : the_post(); ?>
		<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>へのパーマリンク"><?php the_title(); ?></a></h2>
		<div class="entry">
			<?php the_content( '続きを読む »' ); ?>
		</div>
	<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_footer(); ?>


このテンプレートはスタイリングされていないことに注意してください。 使用中のテーマの single.php ファイルを見て構造を決めると良いでしょう。

変更履歴

  • 3.1 : taxonomy パラメータに配列を与えることができるようになりました。
  • 2.9 : separator パラメータが追加されました。
  • 2.8 : taxonomy および echo パラメータが追加されました。
  • 2.7 : link パラメータが追加されました。
  • 2.5 :
    • パラメータ order(ソート順)の値として 'RAND' を指定できるようになりました。
    • パラメータ format(表示形式)で 'array' を指定したとき、表示せずに値を返すようになりました。
  • 2.3 : 新規テンプレートタグ

ソースファイル

wp_tag_cloud()wp-includes/category-template.php にあります。


タグ: get_tag(), get_tag_link(), get_tags(), get_the_tag_list(), get_the_tags(), is_tag(), the_tags(), single_tag_title(), tag_description(), wp_generate_tag_cloud(), wp_tag_cloud()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/wp_tag_cloud最新版との差分