get_post_type_archive_link() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました