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

「テンプレートタグ/get the tags」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(未翻訳テンプレ追加、体裁微調整)
(メンバー変数に型を追記。参考セクションを新設。)
 
(4人の利用者による、間の5版が非表示)
1行目: 1行目:
{{NeedTrans}}
 
 
 
<div id="Description">
 
<div id="Description">
 
== 説明 ==
 
== 説明 ==
 
</div>
 
</div>
  
Returns an array of objects, one object for each tag assigned to the post. This tag must be used within [[The Loop]].
+
投稿に付けられているタグをそれぞれ一つのオブジェクトにし、そのオブジェクトの配列を返します。
 +
このテンプレートタグを[[The Loop|ループ]]内で使用する場合は、投稿 ID を省略して構いません。
  
 
<div id="Usage">
 
<div id="Usage">
11行目: 10行目:
 
</div>
 
</div>
  
This function does not display anything; you should access the objects and then echo or otherwise use the desired member variables.
+
このテンプレートタグは何も表示しません。
 +
オブジェクトにアクセスし、メンバ変数を <code>echo</code> で表示、または使用してください。
  
The following example displays the tag name of each tag assigned to the post (this is like using [[テンプレートタグ/the_tags|<tt>the_tags()</tt>]], but without linking each tag to the tag view, and using spaces instead of commas):
+
以下の例は投稿に付けられている各タグの名前を表示します(これは [[テンプレートタグ/the_tags|<tt>the_tags()</tt>]] を使うのと似ていますが、投稿タグにリンクが無く、コンマの代わりにスペースを使っています)。
  
<pre><?php
+
<pre>
 +
<?php
 
$posttags = get_the_tags();
 
$posttags = get_the_tags();
if ($posttags) {
+
if ( $posttags ) {
foreach($posttags as $tag) {
+
  foreach ( $posttags as $tag ) {
echo $tag->name . ' ';  
+
    echo $tag->name . ' ';  
 +
  }
 
}
 
}
}
+
?>
?></pre>
+
</pre>
 +
 
 +
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 
 +
{{Parameter|$id|整数|投稿 ID|オプション|現在の投稿の ID}}
  
 
<div id="Examples">
 
<div id="Examples">
29行目: 37行目:
  
 
<div id="Show_tag_Images">
 
<div id="Show_tag_Images">
===Show tag Images===
+
=== タグの画像を表示 ===
 
</div>
 
</div>
  
This outputs tag images named after the <tt>term_id</tt> with the <tt>alt</tt> attribute set to <tt>name</tt>. You can also use any of the other member variables instead.
+
次の例は <tt>term_id</tt> を画像のファイル名に使ってタグの画像を表示します。
 +
また、画像の <tt>alt</tt> 属性にタグ名(<tt>name</tt>)を設定します。
 +
他のメンバー変数を代わりに使うこともできます。
  
<pre><?php
+
<pre>
 +
<?php
 
$posttags = get_the_tags();
 
$posttags = get_the_tags();
if ($posttags) {
+
if ( $posttags ) {
foreach($posttags as $tag) {
+
  foreach ( $posttags as $tag ) {
echo '<img src="http://example.com/images/' . $tag->term_id . '.jpg"  
+
    echo '<img src="http://example.com/images/' . $tag->term_id . '.jpg" alt="' . $tag->name . '" />';  
alt="' . $tag->name . '" />';  
+
  }
 
}
 
}
}
+
?>
?></pre>
+
</pre>
  
 
<div id="Show_the_First_tag_Name_Only">
 
<div id="Show_the_First_tag_Name_Only">
===Show the First tag Name Only===
+
=== 最初のタグ名だけを表示する ===
 
</div>
 
</div>
  
<pre><?php
+
<pre>
$tag = get_the_tags();  
+
<?php
if ($tag) {
+
$posttags = get_the_tags();
$tag = $tag[0]; echo $tag->name;
+
if ( $posttags[0] ) {
 +
  echo $posttags[0]->name;
 
}
 
}
?></pre>
+
?>
 +
</pre>
 +
 
 +
<div id="Display_code_bases_on_different_tag_values">
 +
===異なるタグ値に基づくコードを表示する<!-- bases は based のミス? --~~~~ -->===
 +
</div>
 +
 
 +
このコードは、投稿にあるタグが含まれるか否かによって異なる HTML コードを表示します。
 +
必要ならば、<code>else if</code> ステートメントを好きなだけ追加してください。
 +
 
 +
<pre>
 +
<?php
 +
$all_the_tags = get_the_tags();
 +
if ( $all_the_tags ) {
 +
  foreach ( $all_the_tags as $this_tag ) {
 +
    if ( $this_tag->name == "sometag" ) {
 +
?>
 +
 
 +
<p>SOME HTML CODE <img src="someimage.jpg"></p>
 +
 
 +
<?php
 +
    } else if ( $this_tag->name == "someothertag" ) { ?>
 +
 
 +
<p>SOME OTHER HTML CODE <img src="someotherimage.jpg"></p>
 +
 
 +
<?php
 +
    } else {
 +
      // どちらでも無ければ何もしない
 +
?>
 +
<!-- どちらのタグも付いていない場合のコードが必要なら、ここへ -->
 +
<?php
 +
    }
 +
  }
 +
}
 +
?>
 +
</pre>
 +
 
 +
<div id="Function_to_show_tags_in_a_dropdown">
 +
===タグをドロップダウンで表示する関数===
 +
</div>
 +
 
 +
この関数は、タグをドロップダウンで出力します。
 +
 
 +
<pre>
 +
function drop_tags()
 +
{
 +
  echo "<select onChange=\"document.location.href=this.options[this.selectedIndex].value;\">";
 +
  echo "<option>Tags</option>\n";
 +
  foreach ( get_the_tags() as $tag ) {
 +
    echo "<option value=\"";
 +
    echo get_tag_link( $tag->term_id) ;
 +
    echo "\">" . $tag->name . "</option>\n";
 +
  }
 +
  echo "</select>";
 +
}
 +
</pre>
 +
 
 +
<div id="Return_Values">
 +
== 戻り値 ==
 +
</div>
 +
 
 +
; <tt>(配列)</tt> : タグオブジェクトの配列
  
 
<div id="Member_Variables">
 
<div id="Member_Variables">
==Member Variables==
+
== メンバー変数 ==
 
</div>
 
</div>
  
;term_id :the tag id
+
;term_id : (整数) タグの ID
;name :the tag name
+
;name : (文字列) タグ名
;slug :a slug generated from the tag name
+
;slug : (文字列) タグのスラッグ
;term_group :the group of the tag, if any
+
<!-- タグ専用の関数なので、非表示化 by gblsm on 10-Aug-2014
;taxonomy :should always be 'post_tag' for this case
+
;term_group : (整数) タグのグループ
;description :the tag description
+
;taxonomy : (文字列) この場合は常に <code>'post_tag'</code> になります
;count :number of uses of this tag, total
+
-->
 +
;description : (文字列) タグの説明
 +
;count : (整数) このタグの総使用回数
  
 +
== 参考 ==
 +
 +
* [[テンプレートタグ/get_the_tags|<tt>get_the_tags()</tt>]] は <tt>get_the_terms()</tt> を経由して <tt>wp_get_object_terms()</tt> を使用します。そして <tt>wp_get_object_terms()</tt> は <tt>sanitize_term()</tt> を経由して [[関数リファレンス/sanitize term field|<tt>sanitize_term_field()</tt>]] を呼び出し、その中で次のメンバー変数が整数型に変換されます:term_id, count
 +
 +
<div id="Change_Log">
 
== 変更履歴 ==
 
== 変更履歴 ==
 +
</div>
 +
 
* [[Version 2.3|2.3]] : 新規テンプレートタグ
 
* [[Version 2.3|2.3]] : 新規テンプレートタグ
 +
 +
<div id="Source_File">
 +
== ソースファイル ==
 +
</div>
 +
 +
<tt>get_the_tags()</tt> は {{Trac|wp-includes/category-template.php}} にあります。
  
 
<div id="Related">
 
<div id="Related">
== 関連 ==
+
== 関連項目 ==
 
</div>
 
</div>
  
{{Tag Tag Tags}}
+
{{Tag Tag Tags}}, [[関数リファレンス/get_the_terms|<code>get_the_terms()</code>]], [[関数リファレンス/wp_get_object_terms|<code>wp_get_object_terms()</code>]]
 +
 
 +
{{Tag Footer}}
  
{{Query String Tag Footer}}
+
{{原文|Template Tags/get_the_tags|135520}} <!-- 13:16, 13 September 2013 MichaelH 版 -->
{{原文|Template Tags/get_the_tags|51733}}
+
  
{{DEFAULTSORT:get_the_tags}}
+
{{DEFAULTSORT:Get_the_tags}}
 +
[[Category:関数]]
 
[[Category:wp2.3]]
 
[[Category:wp2.3]]
  
[[en:Template Tags/get_the_tags]]
+
[[en:Function Reference/get_the_tags]]
 +
[[ko:Function Reference/get_the_tags]]

2014年9月3日 (水) 01:25時点における最新版

投稿に付けられているタグをそれぞれ一つのオブジェクトにし、そのオブジェクトの配列を返します。 このテンプレートタグをループ内で使用する場合は、投稿 ID を省略して構いません。

使い方

このテンプレートタグは何も表示しません。 オブジェクトにアクセスし、メンバ変数を echo で表示、または使用してください。

以下の例は投稿に付けられている各タグの名前を表示します(これは the_tags() を使うのと似ていますが、投稿タグにリンクが無く、コンマの代わりにスペースを使っています)。

<?php
$posttags = get_the_tags();
if ( $posttags ) {
  foreach ( $posttags as $tag ) {
    echo $tag->name . ' '; 
  }
}
?>

パラメータ

$id
整数) (オプション) 投稿 ID
初期値: 現在の投稿の ID

用例

タグの画像を表示

次の例は term_id を画像のファイル名に使ってタグの画像を表示します。 また、画像の alt 属性にタグ名(name)を設定します。 他のメンバー変数を代わりに使うこともできます。

<?php
$posttags = get_the_tags();
if ( $posttags ) {
  foreach ( $posttags as $tag ) {
    echo '<img src="http://example.com/images/' . $tag->term_id . '.jpg" alt="' . $tag->name . '" />'; 
  }
}
?>

最初のタグ名だけを表示する

<?php
$posttags = get_the_tags();
if ( $posttags[0] ) {
  echo $posttags[0]->name;
}
?>

異なるタグ値に基づくコードを表示する

このコードは、投稿にあるタグが含まれるか否かによって異なる HTML コードを表示します。 必要ならば、else if ステートメントを好きなだけ追加してください。

<?php 
$all_the_tags = get_the_tags();
if ( $all_the_tags ) {
  foreach ( $all_the_tags as $this_tag ) {
    if ( $this_tag->name == "sometag" ) {
?>

<p>SOME HTML CODE <img src="someimage.jpg"></p>

<?php
    } else if ( $this_tag->name == "someothertag" ) { ?>

<p>SOME OTHER HTML CODE <img src="someotherimage.jpg"></p>

<?php
    } else {
      // どちらでも無ければ何もしない
?>
<!-- どちらのタグも付いていない場合のコードが必要なら、ここへ -->
<?php
    }
  }
}
?>

タグをドロップダウンで表示する関数

この関数は、タグをドロップダウンで出力します。

function drop_tags()
{
  echo "<select onChange=\"document.location.href=this.options[this.selectedIndex].value;\">";
  echo "<option>Tags</option>\n";
  foreach ( get_the_tags() as $tag ) {
    echo "<option value=\"";
    echo get_tag_link( $tag->term_id) ;
    echo "\">" . $tag->name . "</option>\n";
  }
  echo "</select>";
}

戻り値

(配列) 
タグオブジェクトの配列

メンバー変数

term_id 
(整数) タグの ID
name 
(文字列) タグ名
slug 
(文字列) タグのスラッグ
description 
(文字列) タグの説明
count 
(整数) このタグの総使用回数

参考

  • get_the_tags()get_the_terms() を経由して wp_get_object_terms() を使用します。そして wp_get_object_terms()sanitize_term() を経由して sanitize_term_field() を呼び出し、その中で次のメンバー変数が整数型に変換されます:term_id, count

変更履歴

  • 2.3 : 新規テンプレートタグ

ソースファイル

get_the_tags()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() , get_the_terms(), wp_get_object_terms()


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


最新英語版: WordPress Codex » Template Tags/get_the_tags最新版との差分