
目次
the_author_link()の用途
the_author_link() は、WordPress のテンプレートタグの一つで、投稿者名にリンクを付けて出力する関数です。通常、著者の投稿一覧ページ(author.php)へのリンクになりますが、プロフィールで「ウェブサイトURL」が登録されている場合は、そちらが優先されてリンク先になります。
the_author_link()基本構文
<?php the_author_link(); ?>この関数を使うと、以下のようにリンク付きの投稿者名が出力されます。
<a href="https://example.com">山田太郎</a>※リンク先は著者の「ウェブサイトURL」または「投稿一覧ページ」。
the_author_link()はどんなときに使う?
the_author() は投稿者名をそのまま出力しますが、the_author_link() はリンク付きで表示したいときに使います。
the_author_link()の仕組み(出力先の優先順位)
- 投稿者プロフィールに「ウェブサイトURL」が登録されている → その URL にリンクされる。
- 登録がない場合 → WordPress 標準の著者アーカイブページへリンクされる(例:
/author/username/)。
the_author_link()の出力例
プロフィールにウェブサイトURLあり:
<?php the_author_link(); ?><a href="https://example.com">山田太郎</a>プロフィールにURLがない場合:
<a href="https://yourdomain.com/author/yamada/">山田太郎</a>the_author_link()の注意点
echoされる関数(出力専用)です。値として取得したいときはget_the_author_link()は存在しないため、自前で構築する必要があります。- ループ(The Loop)内で使用することが前提です。ループ外で使うと、意図しないユーザー情報になる可能性があります。
- セキュリティ的には
esc_url()やesc_html()などで囲いたい場合、カスタム出力がおすすめです。
the_author_link()をカスタマイズしたい場合の代替コード
ウェブサイトURLがあっても使わず、常に「著者アーカイブ」にリンクしたい場合:
<?php
$author_id = get_the_author_meta('ID');
$author_url = get_author_posts_url($author_id);
$author_name = get_the_author();
?>
<a href="<?php echo esc_url($author_url); ?>"><?php echo esc_html($author_name); ?></a>the_author_link()のまとめ
| 項目 | 内容 |
|---|---|
| 関数名 | the_author_link() |
| 役割 | 投稿者名をリンク付きで出力 |
| 出力先の優先 | 「ウェブサイトURL」→なければ「著者アーカイブ」 |
| 出力 or 取得 | echo(出力のみ) |
| 使用場所 | 投稿ループ内 |
| カスタマイズ | 必要に応じて get_author_posts_url() と get_the_author() の組み合わせ推奨 |