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

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

「関数リファレンス/get post types」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(訳修正、原文リンク修正)
(en:Function Reference/get_post_types 14:24, 30 November 2013 Mistercat 版と比較、誤記訂正。)
 
1行目: 1行目:
 
== 説明 ==
 
== 説明 ==
  
''$wp_post_types'' から得られる[[関数リファレンス/register_post_type|登録された投稿タイプの一覧]]を返します。
+
グローバル変数 ''$wp_post_types'' から得られる[[関数リファレンス/register_post_type|登録済み投稿タイプの一覧]]を返します。
  
 
== 使い方 ==
 
== 使い方 ==
  
<?php get_post_types( $args, $output, $operator ) ?>
+
<?php get_post_types( $args, $output, $operator ) ?>
  
 
== 変数 ==
 
== 変数 ==
  
 
{{Parameter|$args|配列|投稿タイプを絞り込むためのキー・バリュー式の引数の配列。|オプション|<tt>array()</tt>}}
 
{{Parameter|$args|配列|投稿タイプを絞り込むためのキー・バリュー式の引数の配列。|オプション|<tt>array()</tt>}}
次のような引数が使えます:
+
: 次のような引数が使えます:
* public - ''論理値。真である場合、公開された(publicな)投稿タイプのみが返されます。''
+
:* public - ''真偽値。<code>true</code> のとき、公開された(public な)投稿タイプのみが返されます。''
* publicly_queryable - ''論理値''
+
:* publicly_queryable - ''真偽値''
* exclude_from_search - ''論理値''
+
:* exclude_from_search - ''真偽値''
* show_ui - ''Boolean''
+
:* show_ui - ''真偽値''
* capability_type
+
:* capability_type
* hierarchical
+
:* hierarchical
* menu_position
+
:* menu_position
* menu_icon
+
:* menu_icon
* permalink_epmask
+
:* permalink_epmask
* rewrite
+
:* rewrite
* query_var
+
:* query_var
* _builtin - ''論理値。真である場合、WordPressのデフォルトの投稿タイプが返されます。偽である場合、カスタム投稿タイプのみが返されます。'  
+
:* _builtin - ''真偽値。<code>true</code> のとき、WordPress のデフォルトの投稿タイプが返されます。<code>false</code> のときはカスタム投稿タイプのみが返されます。''
  
{{Parameter|$output|文字列|返り値の型を指定します。<tt>'names'</tt>(名前)または<tt>'objects'</tt>(オブジェクト)。|オプション|<tt>'names'</tt>}}
+
{{Parameter|$output|文字列|戻り値の型を指定します。<tt>'names'</tt>(名前)または <tt>'objects'</tt>(オブジェクト)。|オプション|<tt>'names'</tt>}}
  
{{Parameter|$operator|文字列|<tt>$args</tt>で複数の条件を指定する場合の演算子(and または od)。|オプション|<tt>'and'</tt>}}
+
{{Parameter|$operator|文字列|<tt>$args</tt> で複数の条件を指定する場合の演算子(<code>'and'</code> または <code>'or'</code>)。|オプション|<tt>'and'</tt>}}
  
 
== 戻り値 ==
 
== 戻り値 ==
  
; 配列 : 投稿名およびオブジェクトのリスト.
+
; 配列 : 投稿の名前またはオブジェクトのリスト。
  
 
== 用例 ==
 
== 用例 ==
=== 初期値 ===
+
=== デフォルトの使い方 ===
  
呼び出し <tt>[[Function Reference/get post types|get post types]]</tt> 投稿された投稿タイプを返します。
+
<tt>get_post_types()</tt> を呼び出すと登録済み投稿タイプを返します。
  
 
  <?php $post_types = get_post_types(); ?>
 
  <?php $post_types = get_post_types(); ?>
47行目: 47行目:
  
 
foreach ( $post_types as $post_type ) {
 
foreach ( $post_types as $post_type ) {
 
 
   echo '<p>' . $post_type . '</p>';
 
   echo '<p>' . $post_type . '</p>';
 
}
 
}
56行目: 55行目:
 
=== 全ての公開のカスタム投稿タイプを出力 ===
 
=== 全ての公開のカスタム投稿タイプを出力 ===
  
標準で組み込まれている投稿タイプは、投稿と、固定ページ、添付ファイルです。 <tt>'_builtin'</tt> を<tt>false</tt>に設定する事で、カスタム投稿タイプのみを表示します。
+
標準で組み込まれている投稿タイプは、投稿、固定ページ、そして添付ファイルです。
 +
<tt>'_builtin'</tt> を <tt>false</tt> に設定する事で、カスタム投稿タイプのみを表示します。
  
 
<pre>
 
<pre>
72行目: 72行目:
  
 
foreach ( $post_types  as $post_type ) {
 
foreach ( $post_types  as $post_type ) {
 
 
   echo '<p>' . $post_type . '</p>';
 
   echo '<p>' . $post_type . '</p>';
 
}
 
}
79行目: 78行目:
 
</pre>
 
</pre>
  
=== 命名された投稿タイプを出力 ===
+
=== 名前を指定して投稿タイプを出力 ===
  
この例は、<tt>'property'</tt> として命名された投稿タイプを再取得して出力します。:
+
この例は <tt>'property'</tt> と命名された投稿タイプを <tt>'object'</tt> 形式で取得します:
 
+
uses the <tt>'object'</tt> output to retrieve the post type called <tt>'property'</tt>:
+
  
 
<pre>
 
<pre>
92行目: 89行目:
 
);
 
);
  
$output = 'objects'; // names or objects
+
$output = 'objects'; // names(名前)または objects(オブジェクト)
  
 
$post_types = get_post_types( $args, $output );
 
$post_types = get_post_types( $args, $output );
  
foreach ( $post_types as $post_type ) {
+
foreach ( $post_types as $post_type ) {
  
 
   echo '<p>' . $post_type->name . '</p>';
 
   echo '<p>' . $post_type->name . '</p>';
104行目: 101行目:
 
</pre>
 
</pre>
  
== 注 ==
+
== 注 ==  
  
[http://codex.wordpress.org/Function_Reference/register_post_type register_post_type()] 関数を使って登録された"公開"のカスタム投稿タイプを取得する時には気をつけて下さい。
+
[[関数リファレンス/register_post_type|register_post_type()]] 関数を使って登録された''「公開」''のカスタム投稿タイプを取得する時、次の点に気をつけて下さい。
register_post_type 関数に対する入力があまり良い処理のされかたではないため、冗長に '''publicly_queriable''', '''show_ui''', '''show_in_nav_menus''', や '''exclude_from_search'''のオプションを設定したとしても、""public""オプションを設定することに相当するものではなく、公開された投稿タイプの結果を生成するクエリは、期待通りに動作しないでしょう。
+
例えば、冗長に '''publicly_queriable''''''show_ui''''''show_in_nav_menus'''、そして '''exclude_from_search''' のオプションを設定したとします。
参照:[http://core.trac.wordpress.org/ticket/18950 bug 18950].
+
しかし register_post_type 関数はパラメータを賢く(うまく)処理しません。
 +
そのため、この設定は '''public''' オプションを設定したときと同じ'''にはならず'''、公開された投稿タイプを取得するクエリは期待通りに動作しないでしょう。
 +
[http://core.trac.wordpress.org/ticket/18950 bug 18950] を参照してください。
  
WordPress に組み込まれている投稿タイプ:
+
=== WordPress に組み込まれている投稿タイプ ===
* <tt>投稿</tt>  
+
* <tt>post</tt> - 投稿
* <tt>固定ページ</tt>  
+
* <tt>page</tt> - 固定ページ
* <tt>添付ファイル</tt>  
+
* <tt>attachment</tt> - [[イメージとファイル添付を使う方法|添付ファイル]]
* <tt>リビジョン</tt>  
+
* <tt>revision</tt> - [[リビジョン管理|リビジョン]]
* <tt>nav_menu_item</tt> - (Since 3.0)
+
* <tt>nav_menu_item</tt> - [[ナビゲーションメニュー]](バージョン 3.0 以降)
* <tt>カスタム投稿タイプ</tt> - (Since 3.0)
+
* <tt>カスタム投稿タイプ</tt> - バージョン 3.0 以降
  
 
== 変更履歴 ==
 
== 変更履歴 ==
  
* [[Version 3.0|3.0]] :
+
* [[Version 3.0|3.0]] : <code>operator</code> パラメータが追加されました。
** Added the <code>operator</code> parameter.
+
* [[Version 2.9|2.9]] から導入されました。
* Since: [[Version 2.9|2.9]]
+
  
 
== ソースファイル==
 
== ソースファイル==
  
<tt>get_post_types()</tt> is located in {{Trac|wp-includes/post.php}}.
+
<tt>get_post_types()</tt> {{Trac|wp-includes/post.php}} にあります。
  
 
== 関連資料 ==
 
== 関連資料 ==
 +
 
{{Post Type Tags}}
 
{{Post Type Tags}}
{{原文|Function_Reference/get_post_types|138674}}<!-- 14:20, 30 November 2013 Mistercat  -->
 
  
 
{{Tag Footer}}
 
{{Tag Footer}}
[[Category:Functions]]
+
 
 +
{{原文|Function_Reference/get_post_types|138674}} <!-- 14:24, 30 November 2013 Mistercat 版 -->
 +
 
 +
{{DEFAULTSORT:Get_post_types}}
 +
[[Category:関数]]
 +
 
 +
[[en:Function Reference/get_post_types]]
 +
[[it:Riferimento_funzioni/get_post_types]]

2014年8月12日 (火) 09:57時点における最新版

説明

グローバル変数 $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最新版との差分