• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(2.8, 2.7: taxonomy, echo, link パラメータ追加、未翻訳)
(最新のマージ)
 
(3人の利用者による、間の5版が非表示)
1行目: 1行目:
{{NeedTrans|一部}}
 
 
 
<div id="Description">
 
<div id="Description">
 
== 説明 ==
 
== 説明 ==
 
</div>
 
</div>
[[テンプレートタグ/wp_tag_cloud|wp_tag_cloud]] は、各タグが記事に付けられた回数によってタグの文字サイズを決める、「[[Wikipedia:ja:タグクラウド|タグクラウド]]」というタグの一覧を表示します。
 
  
<p class="important">注: このタグは WordPress バージョン '''2.3 以上'''でのみ使えます。</p>
+
[[テンプレートタグ/wp_tag_cloud|wp_tag_cloud()]] テンプレートタグは、「[[Wikipedia:ja:タグクラウド|タグクラウド]]」と呼ばれるタグの一覧を表示します。
 +
これは、各タグが投稿に付けられた回数によってタグの文字サイズが決まる一覧です。
  
Beginning with [[Version 2.8]], the '''taxonomy''' parameter was added so that any taxonony could be used as the basis of generating the cloud.  That means, for example, that a cloud for posts categories can be presented to visitors.
+
[[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>
  
  <?php wp_tag_cloud(); ?>
+
  <?php wp_tag_cloud( $args ); ?>
  
初期値:
+
'''初期値:'''
<pre>
+
<pre><?php $args = array(
<?php $defaults = array(
+
'smallest'                 => 8,  
          'smallest' => 8,  
+
'largest'                   => 22,
          'largest' => 22,
+
'unit'                     => 'pt',  
          'unit' => 'pt',  
+
'number'                   => 45,   
          'number' => 45,   
+
'format'                   => 'flat',
          'format' => 'flat',
+
'separator'                => "\n",
          'orderby' => 'name',  
+
'orderby'                   => 'name',  
          'order' => 'ASC',
+
'order'                     => 'ASC',
          'exclude' => '',  
+
'exclude'                   => null,  
          'include' => '',  
+
'include'                   => null,
          'link' => 'view',  
+
'topic_count_text_callback' => default_topic_count_text,
          'taxonomy' => 'post_tag',  
+
'link'                     => 'view',  
          'echo' => true
+
'taxonomy'                 => 'post_tag',  
          ); ?>
+
'echo'                     => true,
</pre>
+
'child_of'                  => null, // 注を参照
 +
); ?></pre>
  
デフォルトでは次のように表示します。各タグの文字サイズは、付けられた記事数に応じて ''smallest''''largest'' の間で段階的に変化します。
+
 
 +
: '''注''':'''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) で表示(件数が少ないタグ)
 
* ''smallest'' - 一番小さいタグを 8(pt) で表示(件数が少ないタグ)
 
* ''largest'' -  一番大きいタグを 22(pt) で表示(件数が多いタグ)
 
* ''largest'' -  一番大きいタグを 22(pt) で表示(件数が多いタグ)
* ''unit'' - 最少・最多値のフォントサイズの単位として 'pt' (point) を使用
+
* ''unit'' - ''smallest'' と ''largest'' のフォントサイズの単位として 'pt' (point) を使用
 
* ''number'' - 最大 45 タグを表示
 
* ''number'' - 最大 45 タグを表示
* ''format'' - flat(ホワイトスペース区切り)形式でタグを表示
+
* ''format'' - <code>flat</code>(ホワイトスペース区切り)形式でタグを表示
 +
* ''separator'' - タグの間にホワイトスペースを表示
 
* ''orderby'' - タグ名順に表示
 
* ''orderby'' - タグ名順に表示
 
* ''order'' - 昇順でソート(前項でタグ名を指定しているので「タグ名の昇順」となる)
 
* ''order'' - 昇順でソート(前項でタグ名を指定しているので「タグ名の昇順」となる)
 
* ''exclude'' - 除外タグなし
 
* ''exclude'' - 除外タグなし
* ''include'' - 全タグ対象
+
* ''include'' - 全てのタグを含める
* ''link'' - view
+
* ''topic_count_text_callback'' - タグ数の表示形式を <code>default_topic_count_text</code> 関数で指定
* ''taxonomy'' - Use post tags for basis of cloud
+
* ''link'' - リンクをクリックしてもタグを編集させない
* ''echo'' - echo the results
+
* ''taxonomy'' - 投稿タグを使ってクラウドを作る
 +
* ''echo'' - 結果を表示する
 +
 
 +
<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>
+
 
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
+
<h2>人気のタグ</h2>
</li>
+
<li><?php wp_tag_cloud( 'smallest=8&largest=22' ); ?></li>
 +
 
 
<?php endif; ?>
 
<?php endif; ?>
 
</pre>
 
</pre>
 
<!-- <ul> は不要なので削除。上のとおりなら <ul> は不要、format=list にしても <ul> 込みで出力されるため。  -->
 
<!-- <ul> は不要なので削除。上のとおりなら <ul> は不要、format=list にしても <ul> 込みで出力されるため。  -->
注: 全体が <code><nowiki><li></li></nowiki></code> で括られているのは、デフォルトテーマなどのサイドバー用の形式です。サイドバー全体が番号なし箇条書きの入れ子になっています([[サイドバーのカスタマイズ]]/[[:en:Customizing Your Sidebar|en]] 参照)。
+
'''注''':全体が <code><nowiki><li></li></nowiki></code> で括られているのは、デフォルトテーマなどのサイドバー用の形式です。サイドバー全体が順不同リスト(<tt>&lt;ul&gt;</tt>)の入れ子になっています([[サイドバーのカスタマイズ]]/[[: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'); ?>
+
 
 +
  <?php wp_tag_cloud( 'smallest=15&largest=40&number=50&orderby=count' ); ?>
  
 
<div id="Cloud_returned_as_array_but_not_displayed">
 
<div id="Cloud_returned_as_array_but_not_displayed">
79行目: 138行目:
 
</div>
 
</div>
  
タグクラウドのデータを他の PHP コードで使うために、変数 <code>$a</code> に格納
+
タグクラウドのデータを他の PHP コードで使うために、変数 <code>$tag</code> に格納します。
 +
<?php $tag = wp_tag_cloud( 'format=array' ); ?>
  
<?php $a = wp_tag_cloud('format=array' );?>
+
<div id="Display_a_Category_Cloud">
 +
=== カテゴリークラウドを表示 ===
 +
</div>
  
<div id="Parameters">
+
'''taxonomy''' 引数を使ってカテゴリーのクラウドを表示します。
== パラメータ ==
+
 
 +
<?php wp_tag_cloud( array( 'taxonomy' => 'category' ) ); ?>
 +
 
 +
<div id="Display_a_Cloud_of_Categories_and_Tags">
 +
=== カテゴリーとタグの両方を含むクラウドを表示 ===
 
</div>
 
</div>
; smallest
 
: (''整数'') 最少使用数のタグの表示に使うフォントサイズ。初期値は 8。
 
; largest
 
: (''整数'') 最多使用数のタグの表示に使うフォントサイズ。初期値は 22。
 
; unit
 
: (''文字列'') '''smallest'''・'''largest''' の値の単位。<code>pt, px, em, %</code> 等、CSS でフォントサイズに用いる単位を指定可能。初期値は 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> タグを配列に格納し、タグクラウドデータを PHP で扱えるように配列のまま'''返す'''。注: 配列の取得(表示ではなく)は [[Version 2.5|WordPress 2.5]] 以上で使えます。
 
; orderby
 
: (''文字列'') タグの表示順とする項目。有効値:
 
:* <code>'name'</code>  - タグ名(初期値)
 
:* <code>'count'</code> - 使用数
 
; order
 
: (''文字列'') ソート順。有効値(大文字):
 
:* <code>'ASC'</code>  - 昇順(初期値)
 
:* <code>'DESC'</code> - 降順
 
:* <code>'RAND'</code> - ランダム([[Version 2.5|WordPress 2.5]] 以上で指定可能)
 
; 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 のタグのみを表示。デフォルトでは全てのタグが対象。
 
; link
 
: (''string'') Set link to allow edit of a particular tag.  Note: this parameter was introduced with [[Version 2.7]].  Valid values:
 
:* <tt>'view'</tt> (Default)
 
:* <tt>'edit'</tt>
 
; taxonomy
 
: (''string'') Taxonomy to use in generating the cloud.  Note: this parameter was introduced with [[Version 2.8]].
 
:* <tt>'post_tag' </tt> - (Default) Post tags are used as source of cloud
 
:* <tt>'category' </tt> -  Post categories are used to generate cloud
 
:* <tt>'link_category' </tt> - Link categories are used to generate cloud
 
; echo
 
: (''boolean'') Show the result or keep it in a variable. The default is ''true'' (display the tag cloud). Note: this parameter was introduced with [[Version 2.8]].  Valid values:
 
:* <tt>1 (true)</tt> - default
 
:* <tt>0 (false)</tt>
 
  
<div id="Creating_a_Tag Archive">
+
'''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>
 
</div>
素晴らしいタグ機能がバージョン 2.3 で追加されましたが、wp_tag_cloud タグはタグアーカイブを表示するのにも使えます。つまり、読者があるタグをクリックするとタグクラウドとそのタグが付いている全ての記事を表示することができます。[[テンプレート階層#Tag_page|テンプレート階層]]によると、tag.php テンプレートが存在しない場合は archives.php テンプレートが使われます。この tag.php テンプレートを作ることによって、タグアーカイブの表示をカスタマイズすることができるし、タグクラウドを最上位に表示させてより便利なナビゲーションを付けることも出来ます。
 
  
そうするには、あなたのテーマにテンプレートを追加する必要があります。以下は[[テンプレート]]や[[テンプレート階層#Tag_page|テンプレート階層]]に関係した良い見本です。
+
素晴らしいタグ機能がバージョン 2.3 で追加された一方で、wp_tag_cloud テンプレートタグはタグアーカイブを表示するのにも使えます。
 +
つまり、読者があるタグをクリックすると、<!--タグクラウドと-->そのタグが付いている全ての投稿を表示することができます。
 +
[[テンプレート階層#Tag_page|テンプレート階層]]に示すとおり、tag.php テンプレートが存在しない場合は archives.php テンプレートが使われます。
 +
この tag.php テンプレートを作ることによって、タグアーカイブの表示をカスタマイズできます。
 +
例えばタグクラウドをページの最上部に表示させて、より便利なナビゲーションを付けることができます。
 +
 
 +
これを実際に行うには、あなたのテーマに新しくテンプレートを追加する必要があります。
 +
以下は[[テンプレート]]や[[テンプレート階層#Tag_display|テンプレート階層]]に関係した良い見本です。
  
基本的な手順は、
+
基本的な手順は次のとおりです:
# コンテンツを作成し、tag.php という名前のファイルに保存する
+
# コンテンツを作成し、tag.php という名前のファイルに保存する。
# ファイルをあなたが使用しているテーマのディレクトリにアップロードする
+
# ファイルをあなたが使用しているテーマのディレクトリにアップロードする。
 
# '''これは任意です。ページナビゲーションにタグアーカイブへのリンクを入れたい場合は行ってください。行わない場合は、タグをクリックしたときにこのテンプレートが使用されます。'''
 
# '''これは任意です。ページナビゲーションにタグアーカイブへのリンクを入れたい場合は行ってください。行わない場合は、タグをクリックしたときにこのテンプレートが使用されます。'''
## 新しくページを作成し、このテンプレートを適用し、ページ名を Tag Archive とする。
+
#* 新しくページを作成し、このテンプレートを適用し、ページ名を ''タグアーカイブ'' とする。
  
3 番目のステップを詳しく説明します。
+
3 番目のステップを詳しく説明します:
  
WordPress は異なるページテンプレートを各ページごとに使用することができます。管理パネルの作成 > ページ作成で表示されるページの下に (使用中の WordPress バージョンによってはサイドバーにあります) 「ページテンプレート」という名前のドロップダウンがあります。そこでどのテンプレートを使ってページを表示するかを選択できます。
+
WordPress は異なるページテンプレートを各ページごとに使用することができます。
 +
管理パネルの ''固定ページ > 新規追加'' で表示されるページの中に (使用中の WordPress バージョンによってはサイドバーにあります) 「テンプレート」という名前のドロップダウンがあります。
 +
そこでどのテンプレートを使ってページを表示するかを選択できます。
  
 
<pre>
 
<pre>
 
<?php /*
 
<?php /*
Template Name: Tag Archive
+
Template Name: タグアーカイブ
 
*/ ?>
 
*/ ?>
 
<div>
 
<div>
 
<?php get_header(); ?>
 
<?php get_header(); ?>
<h2>Tag Archive</h2>
+
<h2>タグアーカイブ</h2>
<?php wp_tag_cloud(''); ?>
+
<?php wp_tag_cloud( '' ); ?>
<div class="navigation">
+
<div class="navigation">
<div class="alignleft"><?php next_posts_link('&laquo; Older Entries') ?></div>
+
<div class="alignleft"><?php next_posts_link( '&laquo; 古い投稿' ); ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries &raquo;') ?></div>
+
<div class="alignright"><?php previous_posts_link( '新しい投稿 &raquo;' ); ?></div>
</div>
+
</div>
<?php if (have_posts()) : ?>
+
<?php if ( have_posts() ) : ?>
<?php while (have_posts()) : the_post(); ?>
+
<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
+
<h2><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>へのパーマリンク"><?php the_title(); ?></a></h2>
<div class="entry">
+
<div class="entry">
<?php the_content('Read the rest of this entry &raquo;'); ?>
+
<?php the_content( '続きを読む &raquo;' ); ?>
</div>
+
</div>
 
+
 
<?php endwhile; ?>
 
<?php endwhile; ?>
<?php endif; ?>
+
<?php endif; ?>
 
</div>
 
</div>
 
<?php get_footer(); ?>
 
<?php get_footer(); ?>
 
</pre>
 
</pre>
  
このテンプレートはスタイリングされていないことに注意してください。あなたが使っているテーマの single.php ファイルを見て構造を決めると良いでしょう。
 
  
 +
このテンプレートはスタイリングされていないことに注意してください。
 +
使用中のテーマの 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.8|2.8]] : <code>taxonomy</code>、<code>echo</code> パラメータが追加されました。
 
 
* [[Version 2.7|2.7]] : <code>link</code> パラメータが追加されました。
 
* [[Version 2.7|2.7]] : <code>link</code> パラメータが追加されました。
 +
 
* [[Version 2.5|2.5]] :  
 
* [[Version 2.5|2.5]] :  
 
** パラメータ <code>order</code>(ソート順)の値として <code>'RAND'</code> を指定できるようになりました。
 
** パラメータ <code>order</code>(ソート順)の値として <code>'RAND'</code> を指定できるようになりました。
** パラメータ <code>format</code>(表示形式) で <code>'array'</code> を指定したとき、表示せずに値を返すようになりました。
+
** パラメータ <code>format</code>(表示形式)で <code>'array'</code> を指定したとき、表示せずに値を返すようになりました。
 +
 
 
* [[Version 2.3|2.3]] : 新規テンプレートタグ
 
* [[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 id="Related">
== 関連 ==
+
== 関連項目 ==
 
</div>
 
</div>
* ソースコード: {{BrowseSource|wp-includes/category-template.php|trunk|2.8}}
+
 
 
{{Tag Tag Tags}}
 
{{Tag Tag Tags}}
{{PHP Function Tag Footer}}
 
  
{{原文|Template Tags/wp_tag_cloud|73075}}<!-- 12:07, May 30, 2009 Bono 版 -->
+
{{Tag Footer}}
 +
 
 +
{{原文|Function Reference/wp_tag_cloud|145546}} <!-- 23:52, 12 August 2014‎ Jennybelanger 版 -->
  
 
{{DEFAULTSORT:Wp_tag_cloud}}
 
{{DEFAULTSORT:Wp_tag_cloud}}
 +
[[Category:テンプレートタグ]]
 
[[Category:wp2.3]]
 
[[Category:wp2.3]]
 
[[Category:wp2.5]]
 
[[Category:wp2.5]]
 
[[Category:wp2.8]]
 
[[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最新版との差分