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

説明

is_post_type_archive() は、カスタム投稿タイプのアーカイブを表示しているかを判定する関数です。

基本構文

is_post_type_archive( string|string[] $post_types = '' ): bool

引数

  • $post_types:投稿タイプ(省略可)

戻り値

条件に当てはまれば true、そうでなければ false。

使い方(サンプル)

if ( is_post_type_archive( 'news' ) ) {
	// news の一覧ページ
}

注意点

  • 投稿タイプ登録時に has_archive を有効にしておく必要があります。

実務での使いどころ

  • カスタム投稿タイプのアーカイブページだけで、表示を変えるとき。
  • 複数の投稿タイプを、配列でまとめて判定するとき。

よくあるミスと対処

  • 投稿タイプを登録するときに、has_archive が false のままで、アーカイブページがない。
  • 個別ページで使っている。個別ページは is_singular()。

NG例

if ( is_post_type_archive( 'news' ) ) {
	// お知らせの個別ページにも効くつもり
}

OK例

if ( is_post_type_archive( 'news' ) || is_singular( 'news' ) ) {
	// お知らせの、アーカイブと個別ページ
}

使い分け早見表

やりたいこと 使うもの
投稿タイプのアーカイブか is_post_type_archive()
投稿タイプの個別ページか is_singular()
すべてのアーカイブか is_archive()

関連項目

is_archive()、is_singular()

公式リファレンス:is_post_type_archive() | Function | WordPress Developer Resources

コメント

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