• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get post types

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

グローバル変数 $wp_post_types から得られる登録済み投稿タイプの一覧を返します。

使い方

<?php get_post_types( $args, $output, $operator ) ?>

変数

$args
配列) (オプション) 投稿タイプを絞り込むためのキー・バリュー式の引数の配列。
初期値: array()
次のような引数が使えます:
  • public - 真偽値。true のとき、公開された(public な)投稿タイプのみが返されます。
  • publicly_queryable - 真偽値
  • exclude_from_search - 真偽値
  • show_ui - 真偽値
  • capability_type
  • hierarchical
  • menu_position
  • menu_icon
  • permalink_epmask
  • rewrite
  • query_var
  • _builtin - 真偽値。true のとき、WordPress のデフォルトの投稿タイプが返されます。false のときはカスタム投稿タイプのみが返されます。
$output
文字列) (オプション) 戻り値の型を指定します。'names'(名前)または 'objects'(オブジェクト)。
初期値: 'names'
$operator
文字列) (オプション$args で複数の条件を指定する場合の演算子('and' または 'or')。
初期値: 'and'

戻り値

配列 
投稿の名前またはオブジェクトのリスト。

用例

デフォルトの使い方

get_post_types() を呼び出すと登録済み投稿タイプを返します。

<?php $post_types = get_post_types(); ?>

全ての投稿タイプのリストを出力

<?php

$post_types = get_post_types( '', 'names' ); 

foreach ( $post_types as $post_type ) {
   echo '<p>' . $post_type . '</p>';
}

?>

全ての公開のカスタム投稿タイプを出力

標準で組み込まれている投稿タイプは、投稿、固定ページ、そして添付ファイルです。 '_builtin'false に設定する事で、カスタム投稿タイプのみを表示します。

<?php

$args = array(
   'public'   => true,
   '_builtin' => false
);

$output = 'names'; // names or objects, note names is the default
$operator = 'and'; // 'and' or 'or'

$post_types = get_post_types( $args, $output, $operator ); 

foreach ( $post_types  as $post_type ) {
   echo '<p>' . $post_type . '</p>';
}

?>

名前を指定して投稿タイプを出力

この例は 'property' と命名された投稿タイプを 'object' 形式で取得します:

<?php

$args = array(
   'name' => 'property'
);

$output = 'objects'; // names(名前)または objects(オブジェクト)

$post_types = get_post_types( $args, $output );

foreach ( $post_types as $post_type ) {

   echo '<p>' . $post_type->name . '</p>';
}

?>

register_post_type() 関数を使って登録された「公開」のカスタム投稿タイプを取得する時、次の点に気をつけて下さい。 例えば、冗長に publicly_queriableshow_uishow_in_nav_menus、そして exclude_from_search のオプションを設定したとします。 しかし register_post_type 関数はパラメータを賢く(うまく)処理しません。 そのため、この設定は public オプションを設定したときと同じにはならず、公開された投稿タイプを取得するクエリは期待通りに動作しないでしょう。 bug 18950 を参照してください。

WordPress に組み込まれている投稿タイプ

変更履歴

  • 3.0 : operator パラメータが追加されました。
  • 2.9 から導入されました。

ソースファイル

get_post_types()wp-includes/post.php にあります。

関連資料

投稿タイプ: register_post_type(), add_post_type_support(), remove_post_type_support(), post_type_supports(), post_type_exists(), set_post_type(), get_post_type(), get_post_types(), get_post_type_object(), get_post_type_capabilities(), get_post_type_labels(), is_post_type_hierarchical(), is_post_type_archive(), post_type_archive_title()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function_Reference/get_post_types最新版との差分