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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(Pass in a post object instead of an ID)
(細かなクリーンアップ)
 
(3人の利用者による、間の14版が非表示)
1行目: 1行目:
== 説明 ==
+
== 説明<span id="Description"></span> ==
  
Returns the [[Glossary#Permalink|permalink]] to a post or page for use in [[Glossary#PHP|PHP]]. It does NOT display the permalink and can be used outside of [[The Loop]]. On failure returns <code>false</code>.
+
[[Glossary#PHP|PHP]] で使えるように、投稿または固定ページの [[Glossary#パーマリンク|パーマリンク]] を取得します。このタグはパーマリンクを出力'''しません'''。[[ループ]] の外で使うことができます。失敗した場合は <code>false</code> を返します。
  
Note that when used outside The Loop on a posts page (index, archive, etc.) without the ID parameter, it will return the URL of the last post in The Loop, ''not'' the permalink for the current page. See: http://core.trac.wordpress.org/ticket/9963
+
プラグインやテーマの中では、アクション [[プラグイン 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] を参照してください。
  
<?php $permalink = get_permalink( $id ); ?>  
+
== 使い方<span id="Usage"></span> ==
  
== 引数 ==
+
<?php $permalink = get_permalink( $id, $leavename ); ?>
  
{{Parameter|$id|mixed|The integer ID for a post or page, or a post object|optional|The current post ID, when used in [[The Loop]].}}
+
== パラメータ<span id="Parameters"></span> ==
{{Parameter|$leavename|bool|Whether to keep the post name or page name. When set to <tt>true</tt>, a structural link will be returned, rather than the actual URI. Example: <tt><nowiki>http://www.example.com/%postname%</nowiki></tt> instead of <tt><nowiki>http://www.example.com/my-post</nowiki></tt>|optional|<tt>false</tt>}}
+
  
== 戻り値 ==
+
{{Parameter|$id|複合|投稿または固定ページの整数型の ID、あるいは投稿オブジェクト|オプション|[[ループ]]内で使用した場合、表示中の投稿の ID。}}
; (string|bool) : The permalink URL, or <tt>false</tt> on failure (if the page doesn't exist).
+
{{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>}}
  
== 用例 ==
+
== 戻り値<span id="Return_Values"></span> ==
 +
 
 +
; (文字列|真偽値) : パーマリンクの URL。失敗すると <tt>false</tt>(ページが存在しない場合)。
 +
 
 +
== 用例<span id="Examples"></span> ==
  
 
  <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>
  
=== デフォルトの使い方 ===
+
=== デフォルトの使い方<span id="Default_Usage"></span> ===
  
(ループ内で使用される)現在のポストのパーマリンク。このタグはパーマリンクを出力しないので、この例ではPHPのechoコマンドを使用しています。
+
([[ループ]]内で使用される)現在の投稿のパーマリンク。このタグはパーマリンクを出力しないので、この例では PHP の echo コマンドを使用しています。
  
Permalink for this post:
+
<pre>
<?php echo get_permalink(); ?>
+
Permalink for this post:
 +
<?php echo get_permalink(); ?>
 +
</pre>
  
=== 特定の投稿へのリンク ===
+
=== 特定の投稿へのリンク<span id="Link_to_Specific_Post"></span> ===
  
インフォメーションリストの中のハイパーリンクとして、2つの特定の投稿(post IDが1と10)のパーマリンクを返します。上記のようにこのタグはパーマリンクを出力しないので PHP の echo コマンドを使用しています。
+
あるお知らせリストの中に、特定の投稿 2 つ(投稿 ID が 1 と 10)のパーマリンクを出力します。上の例と同様に、パーマリンクを表示するために PHP の echo コマンドを使用しています。
  
&lt;ul&gt;
+
<pre>
&lt;li&gt;MyBlog info:
+
<ul>
    &lt;ul&gt;
+
<li>MyBlog info:
    &lt;li&gt;&lt;a href="<?php echo get_permalink(1); ?>"&gt;About MyBlog&lt;/a&gt;&lt;/li&gt;
+
    <ul>
    &lt;li&gt;&lt;a href="<?php echo get_permalink(10); ?>"&gt;About the owner&lt;/a&gt;&lt;/li&gt;
+
    <li><a href="<?php echo get_permalink(1); ?>">About MyBlog</a></li>
    &lt;/ul&gt;
+
    <li><a href="<?php echo get_permalink(10); ?>">About the owner</a></li>
&lt;/li&gt;
+
    </ul>
&lt;/ul&gt;
+
</li>
 +
</ul>
 +
</pre>
  
=== IDの代わりに投稿のオブジェクトを渡す ===
+
=== ID の代わりに投稿オブジェクトを渡す<span id="Pass_in_a_post_object_instead_of_an_ID"></span> ===
投稿のIDの代わりにページタイトルを使ってパーマリンクを取得する方法です。
+
<pre><a href="<?php echo esc_url( get_permalink( get_page_by_title( 'Monthly Events' ) ) ); ?>">Monthly Events</a></pre>
+
  
== 変更履歴 ==
+
投稿 ID の代わりにページタイトルを使ってパーマリンクを取得する方法です。
  
Since: 1.0.0
+
<pre>
 +
<a href="<?php echo esc_url( get_permalink( get_page_by_title( 'Monthly Events' ) ) ); ?>">Monthly Events</a>
 +
</pre>
  
 +
== 参考 ==
 +
 +
例えば投稿に親・子・孫の 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 -->
 +
 +
== 変更履歴<span id="Change_Log"></span> ==
 +
 +
1.0.0 : 新規導入
 +
 +
<div id="Source_File">
 
== ソースファイル ==
 
== ソースファイル ==
 +
</div>
  
<tt>get_permalink()</tt> is located in {{Trac|wp-includes/link-template.php}}.
+
<tt>get_permalink()</tt> {{Trac|wp-includes/link-template.php}} にあります。
  
== 関連項目 ==
+
== 関連項目<span id="Related"></span> ==
  
 
{{Permalink Tags}}
 
{{Permalink Tags}}
 
{{原文|Function Reference/get_permalink|132252}}<!-- 17:17, 18 June 2013 JD55 版 -->
 
  
 
{{Tag Footer}}
 
{{Tag Footer}}
 +
 +
{{原文|Function Reference/get_permalink|146138}} <!-- 01:48, 27 August 2014 Adiant 版 -->
 +
 +
{{DEFAULTSORT:Get_permalink}}
 +
[[Category:テンプレートタグ]]
 +
 +
[[en:Template Tags/get_permalink]]

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最新版との差分