021
作成者アーカイブ(著者アーカイブ)へのリンクを作成する
Library
著者が作成した投稿の一覧ページ(作成者アーカイブ)のURLを出力するには、the_author_posts_link()
を使用します。URLを文字列として取得する場合は、get_author_posts_url()
を使います。
用例 |
|
---|---|
関連 | |
Codex |
作成者アーカイブへのリンクを出力する
作成者アーカイブとは、ある著者(ユーザー)が書いた投稿を一覧するページで、テンプレートではauthor.php系列です。複数の著者で運営するサイトでは活躍の機会があるでしょう。
作成者アーカイブへのリンクを出力するには、次のようにします。
<?php the_author_posts_link(); ?>
この関数はWordPressループの中で使ってください。実行すると、次のような結果が得られます。

ここで表示される名前は、「ブログ上の表示名」です。表示名を変更するには、こちらの記事を参照してください。
作成者アーカイブへのリンクを文字列で取得する
作成者アーカイブへのURLを文字列で取得するには、get_author_posts_url()
を使います。ただし、適切な引数を渡す必要があります。
テンプレートタグ
get_author_posts_url( $author_id, $author_nicename )
作成者アーカイブのURLを文字列として取得する。
$author_id | URLを取得したい作成者のIDを指定する。必須引数 |
---|---|
$author_nicename | 作成者のslug。任意引数 |
引数にauthor_id
を渡す必要があるので、どこからか著者のIDを取得してくる必要があります。
ある投稿に関連付けられた著者のほとんどの情報は、get_the_author_meta()
を用いて取得することができます。これらの2つの関数を組み合わせて作成者アーカイブへのURLを取得します。
<?php
$author_id = get_the_author_meta( 'ID' );
$author_url = get_author_posts_url( $author_id );
?>
または、グローバル変数$post
が著者のIDを持っていますので、そちらを使うこともできます。
<?php
global $post;
$url = get_author_posts_url( $post->post_author );
?>
これらの処理は、いずれもWordPressループの中でしかうまく動作しません。どちらにしても$post
から情報を取得しているためです。
Comment