get_author_posts_url()

get_author_posts_url()
目次

get_author_posts_url()の用途

get_author_posts_url() は、WordPressで「特定のユーザー(著者)の投稿一覧ページ(著者アーカイブ)のURLを取得する関数」です。
この関数は、著者名をクリックするとその人が書いた記事一覧に遷移させたいときに使います。

get_author_posts_url()の基本構文

get_author_posts_url( $author_id, $author_nicename = '' );

get_author_posts_url()のパラメータ

パラメータ名必須説明
$author_id必須ユーザーID(整数)
$author_nicename任意ユーザーのスラッグ(nicename)。省略可能。省略時は内部で取得されます。

get_author_posts_url()の返り値

  • 著者アーカイブページのURL(文字列)

get_author_posts_url()の使用例

投稿者IDを指定してURLを取得

$author_id = 5;
$url = get_author_posts_url( $author_id );
echo '<a href="' . esc_url( $url ) . '">この著者の記事一覧</a>';

出力例:

<a href="https://example.com/author/yamada/">この著者の記事一覧</a>

ループ内で現在の投稿の著者URLを取得

$author_id = get_the_author_meta('ID');
$author_url = get_author_posts_url( $author_id );

get_author_posts_url()の$author_nicename を省略せずに使うケース

$author_id = 5;
$author_nicename = get_the_author_meta('user_nicename', $author_id);
$url = get_author_posts_url( $author_id, $author_nicename );

$author_nicename を指定するとデータベースクエリを1回減らせます(高速化)

著者アーカイブページとは?

WordPressには /author/{ユーザー名}/ 形式の「著者別アーカイブページ」が用意されており、その著者が書いた投稿(post)を一覧表示します。
このURLを取得するのが get_author_posts_url() の役割です。

get_author_posts_url()の応用:カスタムHTMLで著者リンクを作成

$author_id = get_the_author_meta('ID');
$author_name = get_the_author_meta('display_name');
$author_url = get_author_posts_url( $author_id );

echo '<a href="' . esc_url( $author_url ) . '" class="author-link">' . esc_html( $author_name ) . '</a>';

get_author_posts_url() vs the_author_posts_link()

関数名出力用途
get_author_posts_url()URLを「取得」する(echo しない)自由なHTMLでリンクを作るとき
the_author_posts_link()著者名+リンクを「表示」する(echo する)シンプルな出力に便利

get_author_posts_url()の注意点

  • 投稿者アーカイブページが無効化されている場合(リダイレクトや404設定など)は使えません。
  • カスタム投稿タイプの一覧などには対応していません(投稿タイプ post のみ)。
  • ニックネーム(display_name)と URL スラッグ(user_nicename)を混同しないよう注意。

get_author_posts_url()のまとめ

項目内容
関数名get_author_posts_url()
用途指定ユーザーの「投稿一覧ページ」のURLを取得
引数$author_id(必須), $author_nicename(省略可)
出力URL(文字列)として返す
主な用途カスタムリンク作成、テンプレート内での著者アーカイブ誘導など
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次