説明
get_post_type_archive_link() は、カスタム投稿タイプのアーカイブページのURLを返す関数です。
基本構文
get_post_type_archive_link( string $post_type ): string|false
引数
$post_type:投稿タイプ名
戻り値
URL。アーカイブが無効なら false。
使い方(サンプル)
$url = get_post_type_archive_link( 'news' );
if ( $url ) {
echo esc_url( $url );
}
注意点
- 投稿タイプの
has_archiveがfalseだとfalseが返ります。
実務での使いどころ
- カスタム投稿タイプの、アーカイブページへのリンクを作るとき。
- ナビゲーションに、「お知らせ一覧」へのリンクを出すとき。
よくあるミスと対処
- アーカイブを持たない投稿タイプでは
falseが返る。投稿タイプを登録するときのhas_archiveがfalseの場合。 - 確認せずに出力し、空のリンクができる。
NG例
echo get_post_type_archive_link( 'news' ); // false のときは、何も出ない
OK例
$url = get_post_type_archive_link( 'news' );
if ( $url ) {
echo '<a href="' . esc_url( $url ) . '">お知らせ一覧</a>';
}
使い分け早見表
| 関数 | 返すURL |
|---|---|
get_post_type_archive_link() |
投稿タイプのアーカイブのURL |
get_permalink() |
個別の投稿のURL |
get_term_link() |
タームのアーカイブのURL |
関連項目
get_permalink()、is_post_type_archive()
公式リファレンス:get_post_type_archive_link() | Function | WordPress Developer Resources

コメント