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

「関数リファレンス/get term link」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Function Reference/get term link 14:08, 9 July 2014 Jdgrimes 版を流し込み。)
 
(最初の和訳。)
1行目: 1行目:
{{NeedTrans}}
+
<div id="Description">
 +
== 説明 ==
 +
</div>
  
== Description ==
+
指定された(タクソノミー)タームのアーカイブページへのパーマリンクを返します。
 +
タームが存在しないときは WP_Error オブジェクトを返します。
  
Returns permalink for a taxonomy term archive, or a WP_Error object if the term does not exist.
+
<div id="Usage">
 
+
== 使い方 ==
== Usage ==
+
</div>
  
 
  <?php get_term_link( $term, $taxonomy ); ?>
 
  <?php get_term_link( $term, $taxonomy ); ?>
  
== Parameters ==
+
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 
 +
{{Parameter|$term|オブジェクト&#124;整数&#124;文字列|リンクを取得するタームのオブジェクト、ID またはスラッグ。}}
 +
{{Parameter|$taxonomy|文字列|タクソノミーのスラッグ。<tt>$term</tt> がオブジェクトのときはオプション。|オプション|空の文字列}}
  
{{Parameter|$term|object/int/string|The term object / term ID / term slug whose link will be retrieved.}}
+
<div id="Return Values">
{{Parameter|$taxonomy|string|The taxonomy slug. Optional when <tt>$term</tt> is an object.|optional|empty string}}
+
== 戻り値 ==
 +
</div>
  
== Return Values ==
+
{{Return|URL|文字列|(タクソノミー)タームのアーカイブページの URL}}
 +
{{Return|[[クラスリファレンス/WP_Error|WP_Error]]|オブジェクト|タームが存在しなければエラー。}}
  
{{Return|URL|string|URL to taxonomy term archive.}}
+
<div id="Examples">
{{Return|[[Class_Reference/WP_Error|WP_Error]]|object|Error if term does not exist.}}
+
== 例 ==
 +
</div>
  
== Examples ==
 
 
<pre>
 
<pre>
 
$terms = get_terms( 'species' );
 
$terms = get_terms( 'species' );
27行目: 37行目:
 
foreach ( $terms as $term ) {
 
foreach ( $terms as $term ) {
  
     // The $term is an object, so we don't need to specify the $taxonomy.
+
     // この $term はオブジェクトなので、$taxonomy を指定しなくてよい。
 
     $term_link = get_term_link( $term );
 
     $term_link = get_term_link( $term );
 
    
 
    
     // If there was an error, continue to the next term.
+
     // エラーなら次のタームへ進む。
 
     if ( is_wp_error( $term_link ) ) {
 
     if ( is_wp_error( $term_link ) ) {
 
         continue;
 
         continue;
 
     }
 
     }
  
     // We successfully got a link. Print it out.
+
     // リンクを取得できたのでプリントアウトする。
 
     echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
 
     echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
 
}
 
}
42行目: 52行目:
 
</pre>
 
</pre>
  
== Notes ==
+
<div id="Notes">
 +
== 参考 ==
 +
</div>
  
* Uses: [[Function_Reference/apply_filters|<tt>apply_filters()</tt>]] Calls <tt>'term_link'</tt> filter on the finished link.
+
* [[関数リファレンス/apply_filters|<tt>apply_filters()</tt>]] を使って、リンクを返す前に <tt>'term_link'</tt> フィルターを適用します。
* Uses global: (<tt>[[Class_Reference/WP_Rewrite|WP_Rewrite]]</tt>) <tt>$wp_rewrite</tt>
+
* グローバル変数 (<tt>[[クラスリファレンス/WP_Rewrite|WP_Rewrite]]</tt>) <tt>$wp_rewrite</tt> を使用します。
* Since the term can be an object, integer, or string, make sure that any numbers you pass in are explicitly converted to an integer (example: <tt>(int) $term_id</tt>). Otherwise the function will assume that <tt>$term</tt> is a slug instead of a term ID.
+
* <tt>$term</tt> パラメータはオブジェクト、整数、文字列の何れかですので、数値を与えるときは明示的に整数に型変換してください(例: <tt>(int) $term_id</tt> )。そうしないと <tt>$term</tt> はターム ID ではなくスラッグとして扱われます。
* Because of the above, <tt>$term->term_id</tt> doesn't work for the <tt>$term</tt> parameter prior to [[Version 3.8|3.8.0]]. See [https://core.trac.wordpress.org/ticket/17646 this trac ticket] for more info.
+
* 上記の影響により、[[Version 3.8|3.8.0]] より古いバージョンでは <tt>$term</tt> パラメータに <tt>$term->term_id</tt> を与えると正常に動作しません。詳しくは[https://core.trac.wordpress.org/ticket/17646 この trac チケット]を参照してください。
* PHP may halt if you attempt to print an error result (<tt>"Catchable fatal error: Object of class WP_Error could not be converted to string"</tt>). You should always use <tt>[[Function_Reference/is_wp_error | is_wp_error()]]</tt> to check the result of this function, in case the term does not exist.
+
* エラーのときに結果をプリントアウトすると( <tt>"Catchable fatal error: Object of class WP_Error could not be converted to string"</tt> )、PHP がハングアップする場合があります。タームが存在しない状況に備えて、必ず [[関数リファレンス/is_wp_error | <tt>is_wp_error()</tt>]] を使って戻り値をチェックすべきです。
  
== Change Log ==
+
<div id="Change Log">
 +
== 変更履歴 ==
 +
</div>
  
* [[Version 3.1|3.1.0]]: <tt>$taxonomy</tt> is optional when passing a term object. It is still required if <tt>$term</tt> is passed as a string. See [https://core.trac.wordpress.org/ticket/13081 ticket #13081].
+
* [[Version 3.1|3.1.0]]: タームのオブジェクトを与えるときは <tt>$taxonomy</tt> をオプションにしました。 <tt>$term</tt> が文字列の場合は従来どおり必要です。[https://core.trac.wordpress.org/ticket/13081 チケット #13081] を参照してください。
* Since: [[Version 2.5|2.5.0]]
+
* [[Version 2.5|2.5.0]] にて導入されました。
  
== Source File ==
+
<div id="Source File">
 +
== ソースファイル ==
 +
</div>
  
<tt>get_term_link()</tt> is located in {{Trac|wp-includes/taxonomy.php}}.
+
<tt>get_term_link()</tt> {{Trac|wp-includes/taxonomy.php}} にあります。
  
== Related ==
+
<div id="Related">
 +
== 関連項目 ==
 +
</div>
  
 
{{Tag Category Tags}}
 
{{Tag Category Tags}}
70行目: 88行目:
  
 
{{DEFAULTSORT:Get_term_link}}
 
{{DEFAULTSORT:Get_term_link}}
[[Category:Functions]]
+
[[Category:関数]]
  
 
[[en:Function Reference/get term link]]
 
[[en:Function Reference/get term link]]

2014年7月31日 (木) 00:34時点における版

指定された(タクソノミー)タームのアーカイブページへのパーマリンクを返します。 タームが存在しないときは WP_Error オブジェクトを返します。

使い方

<?php get_term_link( $term, $taxonomy ); ?>

パラメータ

$term
オブジェクト|整数|文字列) (必須) リンクを取得するタームのオブジェクト、ID またはスラッグ。
初期値: なし
$taxonomy
文字列) (オプション) タクソノミーのスラッグ。$term がオブジェクトのときはオプション。
初期値: 空の文字列

戻り値

URL (文字列) 
(タクソノミー)タームのアーカイブページの URL
WP_Error (オブジェクト) 
タームが存在しなければエラー。

$terms = get_terms( 'species' );

echo '<ul>';

foreach ( $terms as $term ) {

    // この $term はオブジェクトなので、$taxonomy を指定しなくてよい。
    $term_link = get_term_link( $term );
   
    // エラーなら次のタームへ進む。
    if ( is_wp_error( $term_link ) ) {
        continue;
    }

    // リンクを取得できたのでプリントアウトする。
    echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
}

echo '</ul>';

参考

  • apply_filters() を使って、リンクを返す前に 'term_link' フィルターを適用します。
  • グローバル変数 (WP_Rewrite) $wp_rewrite を使用します。
  • $term パラメータはオブジェクト、整数、文字列の何れかですので、数値を与えるときは明示的に整数に型変換してください(例: (int) $term_id )。そうしないと $term はターム ID ではなくスラッグとして扱われます。
  • 上記の影響により、3.8.0 より古いバージョンでは $term パラメータに $term->term_id を与えると正常に動作しません。詳しくはこの trac チケットを参照してください。
  • エラーのときに結果をプリントアウトすると( "Catchable fatal error: Object of class WP_Error could not be converted to string" )、PHP がハングアップする場合があります。タームが存在しない状況に備えて、必ず is_wp_error() を使って戻り値をチェックすべきです。

変更履歴

  • 3.1.0: タームのオブジェクトを与えるときは $taxonomy をオプションにしました。 $term が文字列の場合は従来どおり必要です。チケット #13081 を参照してください。
  • 2.5.0 にて導入されました。

ソースファイル

get_term_link()wp-includes/taxonomy.php にあります。


カテゴリータグ: the_category(), the_category_rss(), single_cat_title(), category_description(), wp_dropdown_categories(), wp_list_categories(), get_the_category(), get_the_category_by_ID(), get_category_by_slug(), get_the_category_list(), get_category_parents(), get_category_link(), is_category(), in_category()


タームタグ: is_term(), term_exists(), get_objects_in_term(), get_term(), get_term_by(), get_term_children(), get_term_link(), get_terms(), get_the_terms(), get_the_term_list(), has_term(), sanitize_term(), the_terms(), get_object_taxonomies() is_object_in_taxonomy() the_taxonomies() wp_get_object_terms(), wp_set_object_terms(), wp_get_post_terms(), wp_set_post_terms(), wp_delete_object_term_relationships()



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


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