Go to top Go to bottom

著者が作成した投稿の一覧ページ(作成者アーカイブ)のURLを出力するには、the_author_posts_link()を使用します。URLを文字列として取得する場合は、get_author_posts_url()を使います。

作成者アーカイブへのリンクを出力する

作成者アーカイブとは、ある著者(ユーザー)が書いた投稿を一覧するページで、テンプレートではauthor.php系列です。複数の著者で運営するサイトでは活躍の機会があるでしょう。

作成者アーカイブへのリンクを出力するには、次のようにします。

<?php the_author_posts_link(); ?>

この関数はWordPressループの中で使ってください。実行すると、次のような結果が得られます。

作成者ページへのリンクを表示
作成者ページへのリンクを表示

ここで表示される名前は、「ブログ上の表示名」です。表示名を変更するには、こちらの記事を参照してください。

作成者アーカイブへのリンクを文字列で取得する

作成者アーカイブへのURLを文字列で取得するには、get_author_posts_url()を使います。ただし、適切な引数を渡す必要があります。

テンプレートタグ

get_author_posts_url( $author_id, $author_nicename )

作成者アーカイブのURLを文字列として取得する。

$author_idURLを取得したい作成者の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から情報を取得しているためです。