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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(2006年8月に作成した翻訳データの流し込み(暫定版、要フォーマット))
 
(細かなクリーンアップ)
 
(5人の利用者による、間の21版が非表示)
1行目: 1行目:
* 書式: <?php get_permalink(id); ?>
+
== 説明<span id="Description"></span> ==
* 説明: 記事のパーマリンクをPHPの値として返す。実際のページ内には表れないが、PHPコマンドや関数を使うことにより出力させることもできる。
+
 
* 位置: ループ内・外
+
[[Glossary#PHP|PHP]] で使えるように、投稿または固定ページの [[Glossary#パーマリンク|パーマリンク]] を取得します。このタグはパーマリンクを出力'''しません'''。[[ループ]] の外で使うことができます。失敗した場合は <code>false</code> を返します。
* 引数:
+
 
** id (整数)- 記事の数字ID。ループ内で使用した場合、デフォルト値は表示中記事のID。
+
プラグインやテーマの中では、アクション [[プラグイン 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]] を含む)は、回復不可能なエラーを発生します。
* コード記述例: <code><nowiki><p><a href="<?php echo the_permalink(5); ?>">記事ID5へのリンク</a></p></nowiki></code>
+
 
* 出力例: <code><nowiki><p><a href="http://example.com/index.php?p=5">記事ID5へのリンク</a></p></nowiki></code>
+
'''注意''': パラメータの ID を指定せずに一覧ページ(インデックスやアーカイブなど)の[[ループ]]の外側で使用した場合、現在の表示しているページのパーマリンク'''ではなく'''、ループの一番最後の投稿の URL を返します。Trac [http://core.trac.wordpress.org/ticket/9963 チケット 9963] を参照してください。
 +
 
 +
== 使い方<span id="Usage"></span> ==
 +
 
 +
<?php $permalink = get_permalink( $id, $leavename ); ?>
 +
 
 +
== パラメータ<span id="Parameters"></span> ==
 +
 
 +
{{Parameter|$id|複合|投稿または固定ページの整数型の ID、あるいは投稿オブジェクト|オプション|[[ループ]]内で使用した場合、表示中の投稿の ID。}}
 +
{{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>
 +
 
 +
=== デフォルトの使い方<span id="Default_Usage"></span> ===
 +
 
 +
([[ループ]]内で使用される)現在の投稿のパーマリンク。このタグはパーマリンクを出力しないので、この例では PHP の echo コマンドを使用しています。
 +
 
 +
<pre>
 +
Permalink for this post:
 +
<?php echo get_permalink(); ?>
 +
</pre>
 +
 
 +
=== 特定の投稿へのリンク<span id="Link_to_Specific_Post"></span> ===
 +
 
 +
あるお知らせリストの中に、特定の投稿 2 つ(投稿 ID が 1 と 10)のパーマリンクを出力します。上の例と同様に、パーマリンクを表示するために PHP の echo コマンドを使用しています。
 +
 
 +
<pre>
 +
<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>
 +
</pre>
 +
 
 +
=== 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>
 +
 
 +
== 参考 ==
 +
 
 +
例えば投稿に親・子・孫の 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> は {{Trac|wp-includes/link-template.php}} にあります。
 +
 
 +
== 関連項目<span id="Related"></span> ==
 +
 
 +
{{Permalink Tags}}
 +
 
 +
{{Tag Footer}}
 +
 
 +
{{原文|Function Reference/get_permalink|146138}} <!-- 01:48, 27 August 2014 Adiant 版 -->
 +
 
 +
{{DEFAULTSORT:Get_permalink}}
 +
[[Category:テンプレートタグ]]
  
 
[[en:Template Tags/get_permalink]]
 
[[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最新版との差分