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

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

テンプレートタグ/get permalink

提供: WordPress Codex 日本語版
移動先: 案内検索

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