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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(参考: セクション新設、複数カテゴリーに関する参考を追記。)
(細かなクリーンアップ)
 
1行目: 1行目:
<div id="Description">
+
== 説明<span id="Description"></span> ==
== 説明 ==
+
</div>
+
  
 
[[Glossary#PHP|PHP]] で使えるように、投稿または固定ページの [[Glossary#パーマリンク|パーマリンク]] を取得します。このタグはパーマリンクを出力'''しません'''。[[ループ]] の外で使うことができます。失敗した場合は <code>false</code> を返します。
 
[[Glossary#PHP|PHP]] で使えるように、投稿または固定ページの [[Glossary#パーマリンク|パーマリンク]] を取得します。このタグはパーマリンクを出力'''しません'''。[[ループ]] の外で使うことができます。失敗した場合は <code>false</code> を返します。
  
プラグインやテーマの中では、[[プラグイン API/アクションフック一覧/setup_theme|setup_theme]]/[[:en:Plugin_API/Action_Reference/setup_theme|en]] アクション以降に使用できます。これ以前([[プラグイン API/アクションフック一覧/plugins_loaded|plugins_loaded]]/[[:en:Plugin_API/Action_Reference/plugins_loaded|en]] を含む)は、回復不可能なエラーを発生します。
+
プラグインやテーマの中では、アクション [[プラグイン API/アクションフック一覧/setup_theme|setup_theme]] /[[:en:Plugin_API/Action_Reference/setup_theme|en]] 以降に使用できます。このアクション以前([[プラグイン API/アクションフック一覧/plugins_loaded|plugins_loaded]] /[[:en:Plugin_API/Action_Reference/plugins_loaded|en]] を含む)は、回復不可能なエラーを発生します。
  
 
'''注意''': パラメータの ID を指定せずに一覧ページ(インデックスやアーカイブなど)の[[ループ]]の外側で使用した場合、現在の表示しているページのパーマリンク'''ではなく'''、ループの一番最後の投稿の URL を返します。Trac [http://core.trac.wordpress.org/ticket/9963 チケット 9963] を参照してください。
 
'''注意''': パラメータの ID を指定せずに一覧ページ(インデックスやアーカイブなど)の[[ループ]]の外側で使用した場合、現在の表示しているページのパーマリンク'''ではなく'''、ループの一番最後の投稿の URL を返します。Trac [http://core.trac.wordpress.org/ticket/9963 チケット 9963] を参照してください。
  
<div id="Usage">
+
== 使い方<span id="Usage"></span> ==
== 使い方 ==
+
</div>
+
  
 
  <?php $permalink = get_permalink( $id, $leavename ); ?>
 
  <?php $permalink = get_permalink( $id, $leavename ); ?>
  
<div id="Parameters">
+
== パラメータ<span id="Parameters"></span> ==
== パラメータ ==
+
</div>
+
  
 
{{Parameter|$id|複合|投稿または固定ページの整数型の ID、あるいは投稿オブジェクト|オプション|[[ループ]]内で使用した場合、表示中の投稿の ID。}}
 
{{Parameter|$id|複合|投稿または固定ページの整数型の ID、あるいは投稿オブジェクト|オプション|[[ループ]]内で使用した場合、表示中の投稿の ID。}}
{{Parameter|$leavename|真偽値|投稿名あるいは固定ページ名(注: <tt>%postname%</tt>)を保持するかどうか。<tt>true</tt>の場合、実際の URI ではなく構造的なリンクを返します。 例: <tt><nowiki>http://www.example.com/my-post</nowiki></tt> ではなく <tt><nowiki>http://www.example.com/%postname%</nowiki></tt>|オプション|<tt>false</tt>}}
+
{{Parameter|$leavename|真偽値|投稿名あるいは固定ページ名(注: <tt>%postname%</tt>)を保持するかどうか。<tt>true</tt>の場合、実際の URI ではなく構造的なリンクを返します。 例: <code><nowiki>http://www.example.com/my-post</nowiki></code> ではなく <code><nowiki>http://www.example.com/%postname%</nowiki></code>|オプション|<tt>false</tt>}}
  
<div id="Return_Values">
+
== 戻り値<span id="Return_Values"></span> ==
== 戻り値 ==
+
</div>
+
  
 
; (文字列|真偽値) : パーマリンクの URL。失敗すると <tt>false</tt>(ページが存在しない場合)。
 
; (文字列|真偽値) : パーマリンクの URL。失敗すると <tt>false</tt>(ページが存在しない場合)。
  
<div id="Examples">
+
== 用例<span id="Examples"></span> ==
== 用例 ==
+
</div>
+
  
 
  <a href="<?php echo get_permalink( 268 ); ?>">My link to a post or page</a>
 
  <a href="<?php echo get_permalink( 268 ); ?>">My link to a post or page</a>
  
<div id="Default_Usage">
+
=== デフォルトの使い方<span id="Default_Usage"></span> ===
=== デフォルトの使い方 ===
+
</div>
+
  
 
([[ループ]]内で使用される)現在の投稿のパーマリンク。このタグはパーマリンクを出力しないので、この例では PHP の echo コマンドを使用しています。
 
([[ループ]]内で使用される)現在の投稿のパーマリンク。このタグはパーマリンクを出力しないので、この例では PHP の echo コマンドを使用しています。
45行目: 33行目:
 
</pre>
 
</pre>
  
<div id="Link_to_Specific_Post">
+
=== 特定の投稿へのリンク<span id="Link_to_Specific_Post"></span> ===
=== 特定の投稿へのリンク ===
+
</div>
+
  
 
あるお知らせリストの中に、特定の投稿 2 つ(投稿 ID が 1 と 10)のパーマリンクを出力します。上の例と同様に、パーマリンクを表示するために PHP の echo コマンドを使用しています。
 
あるお知らせリストの中に、特定の投稿 2 つ(投稿 ID が 1 と 10)のパーマリンクを出力します。上の例と同様に、パーマリンクを表示するために PHP の echo コマンドを使用しています。
62行目: 48行目:
 
</pre>
 
</pre>
  
<div id="Pass_in_a_post_object_instead_of_an_ID">
+
=== ID の代わりに投稿オブジェクトを渡す<span id="Pass_in_a_post_object_instead_of_an_ID"></span> ===
=== ID の代わりに投稿オブジェクトを渡す ===
+
</div>
+
  
 
投稿 ID の代わりにページタイトルを使ってパーマリンクを取得する方法です。
 
投稿 ID の代わりにページタイトルを使ってパーマリンクを取得する方法です。
76行目: 60行目:
 
例えば投稿に親・子・孫の 3 つのカテゴリーが付いているとき、カスタムパーマリンク構造の <tt>%category%</tt> にカテゴリー ID が最小のカテゴリーが選ばれる規則があるため、「親/子/孫」にならず「親」や「親/子」になる場合があります。この規則を変えるにはフィルターフック [[プラグイン API/フィルターフック一覧/post_link_category|<tt>'post_link_category'</tt>]] /[https://developer.wordpress.org/reference/hooks/post_link_category/ en] を使ってください。<!-- 2015年8月15日 gblsm -->
 
例えば投稿に親・子・孫の 3 つのカテゴリーが付いているとき、カスタムパーマリンク構造の <tt>%category%</tt> にカテゴリー ID が最小のカテゴリーが選ばれる規則があるため、「親/子/孫」にならず「親」や「親/子」になる場合があります。この規則を変えるにはフィルターフック [[プラグイン API/フィルターフック一覧/post_link_category|<tt>'post_link_category'</tt>]] /[https://developer.wordpress.org/reference/hooks/post_link_category/ en] を使ってください。<!-- 2015年8月15日 gblsm -->
  
<div id="Change_Log">
+
== 変更履歴<span id="Change_Log"></span> ==
== 変更履歴 ==
+
</div>
+
  
 
1.0.0 : 新規導入
 
1.0.0 : 新規導入
88行目: 70行目:
 
<tt>get_permalink()</tt> は {{Trac|wp-includes/link-template.php}} にあります。
 
<tt>get_permalink()</tt> は {{Trac|wp-includes/link-template.php}} にあります。
  
<div id="Related">
+
== 関連項目<span id="Related"></span> ==
== 関連資料 ==
+
</div>
+
  
 
{{Permalink Tags}}
 
{{Permalink Tags}}

2019年8月4日 (日) 11:54時点における最新版

説明

PHP で使えるように、投稿または固定ページの パーマリンク を取得します。このタグはパーマリンクを出力しませんループ の外で使うことができます。失敗した場合は false を返します。

プラグインやテーマの中では、アクション setup_theme /en 以降に使用できます。このアクション以前(plugins_loaded /en を含む)は、回復不可能なエラーを発生します。

注意: パラメータの ID を指定せずに一覧ページ(インデックスやアーカイブなど)のループの外側で使用した場合、現在の表示しているページのパーマリンクではなく、ループの一番最後の投稿の URL を返します。Trac チケット 9963 を参照してください。

使い方

<?php $permalink = get_permalink( $id, $leavename ); ?>

パラメータ

$id
複合) (オプション) 投稿または固定ページの整数型の ID、あるいは投稿オブジェクト
初期値: ループ内で使用した場合、表示中の投稿の ID。
$leavename
真偽値) (オプション) 投稿名あるいは固定ページ名(注: %postname%)を保持するかどうか。trueの場合、実際の URI ではなく構造的なリンクを返します。 例: http://www.example.com/my-post ではなく http://www.example.com/%postname%
初期値: false

戻り値

(文字列|真偽値) 
パーマリンクの URL。失敗すると false(ページが存在しない場合)。

用例

<a href="<?php echo get_permalink( 268 ); ?>">My link to a post or page</a>

デフォルトの使い方

ループ内で使用される)現在の投稿のパーマリンク。このタグはパーマリンクを出力しないので、この例では PHP の echo コマンドを使用しています。

Permalink for this post:
<?php echo get_permalink(); ?>

特定の投稿へのリンク

あるお知らせリストの中に、特定の投稿 2 つ(投稿 ID が 1 と 10)のパーマリンクを出力します。上の例と同様に、パーマリンクを表示するために PHP の echo コマンドを使用しています。

<ul>
<li>MyBlog info:
    <ul>
    <li><a href="<?php echo get_permalink(1); ?>">About MyBlog</a></li>
    <li><a href="<?php echo get_permalink(10); ?>">About the owner</a></li>
    </ul>
</li>
</ul>

ID の代わりに投稿オブジェクトを渡す

投稿 ID の代わりにページタイトルを使ってパーマリンクを取得する方法です。

<a href="<?php echo esc_url( get_permalink( get_page_by_title( 'Monthly Events' ) ) ); ?>">Monthly Events</a>

参考

例えば投稿に親・子・孫の 3 つのカテゴリーが付いているとき、カスタムパーマリンク構造の %category% にカテゴリー ID が最小のカテゴリーが選ばれる規則があるため、「親/子/孫」にならず「親」や「親/子」になる場合があります。この規則を変えるにはフィルターフック 'post_link_category' /en を使ってください。

変更履歴

1.0.0 : 新規導入

ソースファイル

get_permalink()wp-includes/link-template.php にあります。

関連項目

get_permalink(), the_permalink(), post_permalink(), permalink_anchor(), permalink_single_rss()


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


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