この記事は2年以上前に書かれたものです。
情報が古い可能性があります。
情報が古い可能性があります。
有効な投稿タイプの一覧を取得する
index.php
<?php // 投稿タイプの一覧を取得します $args = array( 'public' => true ); $post_types = get_post_types( $args ); ?> <?php /** 取得した投稿タイプ一覧を出力します */ ?> <?php if( count( $post_types ) != 0 ) : ?> <ul> <?php foreach ( $post_types as $post_type ) : ?> <li><?php echo $post_type; ?></li> <?php endforeach; ?> </ul> <?php endif; ?>
表示結果
・post ・page ・attachment ・event ・news
カスタム投稿タイプの一覧を取得する
‘public’ => true と一緒にパラメータに ‘_builtin’ => false を指定することで、カスタム投稿の一覧が取得できます。
こちらは英語版のCodexに説明がありました。
index.php
<?php // カスタム投稿タイプの一覧を取得します $args = array( 'public' => true, '_builtin' => false ); $post_types = get_post_types( $args ); ?> <?php /** 取得したカスタム投稿タイプ一覧を出力します */ ?> <?php if( count( $post_types ) != 0 ) : ?> <ul> <?php foreach ( $post_types as $post_type ) : ?> <li><?php echo $post_type; ?></li> <?php endforeach; ?> </ul> <?php endif; ?>
表示結果
・event ・news
投稿タイプのラベル (名称) も取得する
get_post_type_objectを使用して投稿タイプのラベル (名称) も表示可能です。
index.php
<?php // カスタム投稿タイプの一覧を取得します $args = array( 'public' => true, '_builtin' => false ); $post_types = get_post_types( $args ); ?> <?php /** 取得したカスタム投稿タイプ一覧を出力します */ ?> <?php if( count( $post_types ) != 0 ) : ?> <ul> <?php foreach ( $post_types as $post_type ) : ?> <li> <?php echo $post_type; ?> ・・・ <?php echo esc_html( get_post_type_object( $post_type )->label ); ?> </li> <?php endforeach; ?> </ul> <?php endif; ?>
表示結果
・event ・・・ イベント ・news ・・・ ニュース