- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
「テンプレートタグ/get permalink」の版間の差分
(2006年8月に作成した翻訳データの流し込み(暫定版、要フォーマット)) |
細 (細かなクリーンアップ) |
||
(5人の利用者による、間の21版が非表示) | |||
1行目: | 1行目: | ||
− | + | == 説明<span id="Description"></span> == | |
− | + | ||
− | + | [[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]] を含む)は、回復不可能なエラーを発生します。 | |
− | + | ||
− | + | '''注意''': パラメータの 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 (最新版との差分)