標準で用意されている「投稿」や「固定ページ」以外で自分で追加した「カスタム投稿タイプ」のみを一覧表示・取得したい時のコード。
get_post_types()
を使い、
第一引数の条件配列に'_builtin' => false
を含めると、カスタム投稿タイプだけが取得できます。
//登録済みのカスタム投稿タイプを名前(スラッグ名)で取得
$args = array(
'public' => true,
'_builtin' => false
);
$post_types = get_post_types( $args, 'names', 'and' );
//確認
foreach ( $post_types as $post_type ) {
echo $post_type;
}
第二引数は'names'
または'object'
を指定可能です。
'object'
を指定した場合、投稿タイプオブジェクトで取得できます。
例:カスタム投稿タイプ一覧表示(カスタム投稿タイプアーカイブへのリンク付きリスト)
$args = array(
'public' => true,
'_builtin' => false
);
$post_types = get_post_types( $args, 'objects', 'and' );
//カスタム投稿タイプへのリンク付きリストを出力
foreach ( $post_types as $post_type ) {
echo '<li>',
'<a href="', get_post_type_archive_link($post_type->name), '">', $post_type->label ,'</a>',
'</li>';
}
コメント