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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(関連資料: Category:添付ファイル を追加。)
(最新のマージ 151955}}<!-- 12:55, 6 June 2015‎ Kmvan -->)
9行目: 9行目:
 
</div>
 
</div>
  
  <?php $children = &get_children( $args, $output); ?>
+
  <?php $children_array = get_children( $args, $output ); ?>
 +
 
 +
<div id="Default Usage">
 +
===デフォルトの使い方===
 +
</div>
 +
 
 +
<pre>
 +
<?php
 +
$args = array(
 +
'post_parent' => 0,
 +
'post_type'  => 'any',
 +
'numberposts' => -1,
 +
'post_status' => 'any'
 +
);
 +
?>
 +
</pre>
 +
 
  
 
<div id="Parameters">
 
<div id="Parameters">
15行目: 31行目:
 
</div>
 
</div>
  
 
+
As of [[Version 2.6]], you must pass a non-empty <tt>post_type</tt> parameter (either <tt>attachment</tt> or <tt>page</tt>).
  
 
[[テンプレートタグ/get posts|get_posts()]] も見てください。
 
[[テンプレートタグ/get posts|get_posts()]] も見てください。
  
 
{{Parameter|$args|配列|パラメータ|オプション}}
 
{{Parameter|$args|配列|パラメータ|オプション}}
デフォルトは以下の通り
+
 
<pre>$defaults = array(
+
    'post_parent' => 0,
+
    'post_type'  => 'any',
+
    'numberposts' => -1,
+
    'post_status' => 'any',
+
);</pre>
+
  
 
[[テンプレートタグ/タグパラメータの渡し方#Tags_with_query-string-style_parameters | クエリ形式の文字列または配列]] に以下のパラメータを指定します。<tt>post_parent</tt> に投稿 ID を指定すると、その投稿を親に持つ投稿を取得します。ID などの指定が無い場合は、親を持たない投稿を取得します。
 
[[テンプレートタグ/タグパラメータの渡し方#Tags_with_query-string-style_parameters | クエリ形式の文字列または配列]] に以下のパラメータを指定します。<tt>post_parent</tt> に投稿 ID を指定すると、その投稿を親に持つ投稿を取得します。ID などの指定が無い場合は、親を持たない投稿を取得します。
  
{{Parameter|$args['numberposts']|整数|取得する投稿の数|オプション|-1}}
+
{{Parameter|'numberposts'|整数|取得する投稿の数|オプション|-1}}
 
:* <code>'-1'</code> - すべての投稿
 
:* <code>'-1'</code> - すべての投稿
  
{{Parameter|$args['post_parent']|整数|親投稿の ID|オプション|0}}
+
{{Parameter|'post_parent'|整数|親投稿の ID|オプション|0}}
 
:* <code>'0'</code> - 親を持たない投稿
 
:* <code>'0'</code> - 親を持たない投稿
  
{{Parameter|$args['post_type']|文字列|投稿タイプ|オプション|'any'}}
+
{{Parameter|'post_type'|文字列|投稿タイプ|オプション|'any'}}
 
:* <code>'attachment'</code> - 添付ファイル
 
:* <code>'attachment'</code> - 添付ファイル
 
:* <code>'page'</code> - 固定ページ
 
:* <code>'page'</code> - 固定ページ
42行目: 52行目:
 
:* <code>'any'</code> - すべての投稿タイプ
 
:* <code>'any'</code> - すべての投稿タイプ
  
{{Parameter|$args['post_status']|文字列|投稿ステータス|オプション|'any'}}
+
{{Parameter|'post_status'|文字列|投稿ステータス|オプション|'any'}}
 
:* <code>'publish'</code> - 公開
 
:* <code>'publish'</code> - 公開
 
:* <code>'draft'</code> - 下書き
 
:* <code>'draft'</code> - 下書き
48行目: 58行目:
 
:* <code>'any'</code> - すべての投稿ステータス
 
:* <code>'any'</code> - すべての投稿ステータス
  
{{Parameter|$args['post_mime_type']|文字列|MIMEタイプ|オプション}}
+
{{Parameter|'post_mime_type'|文字列|MIMEタイプ|オプション}}
 
:* <code>'image'</code> - 画像
 
:* <code>'image'</code> - 画像
 
:* <code>'video'</code> - 動画
 
:* <code>'video'</code> - 動画
 
:* <code>'videp/mp4'</code> - 動画(mp4)
 
:* <code>'videp/mp4'</code> - 動画(mp4)
  
{{Parameter|$output|定数|戻り値の型|オプション|OBJECT}}
+
'''注: ''' 参照: [[テンプレートタグ/get posts|get_posts()]] for a full list of $args parameters.
 +
 
 +
{{Parameter|'output'|定数|戻り値の型|オプション|OBJECT}}
 
:* <code>'ARRAY_A'</code> - 連想配列
 
:* <code>'ARRAY_A'</code> - 連想配列
 
:* <code>'ARRAY_N'</code> - インデックス配列
 
:* <code>'ARRAY_N'</code> - インデックス配列
75行目: 87行目:
  
 
if ( empty($images) ) {
 
if ( empty($images) ) {
// 添付ファイルが無かった
+
// 添付ファイルが無い場合
 
} else {
 
} else {
 
foreach ( $images as $attachment_id => $attachment ) {
 
foreach ( $images as $attachment_id => $attachment ) {
87行目: 99行目:
 
echo wp_get_attachment_link( $attachment_id );
 
echo wp_get_attachment_link( $attachment_id );
 
}</pre>
 
}</pre>
 +
 +
<div id="Show the first image associated with the post">
 +
=== Show the first image associated with the post ===
 +
</div>
 +
 +
This function retrieves the first image associated with a post
 +
<pre>
 +
<?php
 +
function echo_first_image( $postID ) {
 +
$args = array(
 +
'numberposts' => 1,
 +
'order' => 'ASC',
 +
'post_mime_type' => 'image',
 +
'post_parent' => $postID,
 +
'post_status' => null,
 +
'post_type' => 'attachment',
 +
);
 +
 +
$attachments = get_children( $args );
 +
 +
if ( $attachments ) {
 +
foreach ( $attachments as $attachment ) {
 +
$image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' )  ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) : wp_get_attachment_image_src( $attachment->ID, 'full' );
 +
 +
echo '<img src="' . wp_get_attachment_thumb_url( $attachment->ID ) . '" class="current">';
 +
}
 +
}
 +
}
 +
</pre>
 +
 +
<div id="Show the first image associated with the post and re-key the array">
 +
=== Show the first image associated with the post and re-key the array ===
 +
</div>
 +
 +
In the example above, a primary array is keyed with the image ID (the exact thing which is being sought - since we don't know it how are we supposed to access it?). The code below provides an easier handle for the image information: the array $child_image. Should be used in the loop.
 +
 +
<pre>
 +
$args = array(
 +
'numberposts' => 1,
 +
'order'=> 'DESC',
 +
'post_mime_type' => 'image',
 +
'post_parent' => $post->ID,
 +
'post_type' => 'attachment'
 +
);
 +
 +
$get_children_array = get_children($args,ARRAY_A);  //returns Array ( [$image_ID]...
 +
$rekeyed_array = array_values($get_children_array);
 +
$child_image = $rekeyed_array[0]; 
 +
 +
 +
print_r($child_image);  //Show the contents of the $child_image array.
 +
echo $child_image['ID'];  //Show the $child_image ID.
 +
</pre>
  
 
<div id="Change_Log">
 
<div id="Change_Log">
104行目: 169行目:
 
</div>
 
</div>
  
<tt>get_children()</tt> は [[テンプレートタグ/get posts|get_posts()]] を呼んでいます。[[テンプレートタグ/get posts|get_posts()]] は [[関数リファレンス/WP Query#Methods|$WP_Query->get_posts()]] を呼んでいます。
+
<tt>get_children()</tt> は [[テンプレートタグ/get posts|get_posts()]] を呼んでいます。
 +
[[テンプレートタグ/get posts|get_posts()]] は [[Class Reference/WP Query#Methods|$WP_Query->get_posts()]] を呼んでいます。
 +
 
 +
[[テンプレートタグ/wp get attachment link|wp_get_attachment_link()]],
 +
[[関数リファレンス/get_page_children|get_page_children()]]
  
 
{{Attachment Tags}}
 
{{Attachment Tags}}
 
{{Tag General Tags}}
 
{{Tag General Tags}}
 
{{Query String Tag Footer}}
 
{{Query String Tag Footer}}
 +
 +
{{NeedTrans|一部}}
  
 
{{DEFAULTSORT:Get_children}}
 
{{DEFAULTSORT:Get_children}}
{{原文|Function Reference/get children|81501}}<!-- 08:41, 28 December 2009 GeertDD -->
+
{{原文|Function Reference/get children|151955}}<!-- 12:55, 6 June 2015‎ Kmvan -->
  
 
[[Category:添付ファイル]]
 
[[Category:添付ファイル]]

2015年8月16日 (日) 09:03時点における版

get_children() は指定した投稿の添付ファイルページやサブページやリビジョンを取得します。投稿の一覧を取得する機能は get_posts() とほぼ同じです。

使い方

<?php $children_array = get_children( $args, $output ); ?>

デフォルトの使い方

<?php 
$args = array(
	'post_parent' => 0,
	'post_type'   => 'any', 
	'numberposts' => -1,
	'post_status' => 'any' 
); 
?>


パラメータ

As of Version 2.6, you must pass a non-empty post_type parameter (either attachment or page).

get_posts() も見てください。

$args
配列) (オプション) パラメータ
初期値: なし


クエリ形式の文字列または配列 に以下のパラメータを指定します。post_parent に投稿 ID を指定すると、その投稿を親に持つ投稿を取得します。ID などの指定が無い場合は、親を持たない投稿を取得します。

'numberposts'
整数) (オプション) 取得する投稿の数
初期値: -1
  • '-1' - すべての投稿
'post_parent'
整数) (オプション) 親投稿の ID
初期値: 0
  • '0' - 親を持たない投稿
'post_type'
文字列) (オプション) 投稿タイプ
初期値: 'any'
  • 'attachment' - 添付ファイル
  • 'page' - 固定ページ
  • 'revision' - 投稿リビジョン
  • 'any' - すべての投稿タイプ
'post_status'
文字列) (オプション) 投稿ステータス
初期値: 'any'
  • 'publish' - 公開
  • 'draft' - 下書き
  • 'inherit' - 継承
  • 'any' - すべての投稿ステータス
'post_mime_type'
文字列) (オプション) MIMEタイプ
初期値: なし
  • 'image' - 画像
  • 'video' - 動画
  • 'videp/mp4' - 動画(mp4)

注: 参照: get_posts() for a full list of $args parameters.

'output'
定数) (オプション) 戻り値の型
初期値: OBJECT
  • 'ARRAY_A' - 連想配列
  • 'ARRAY_N' - インデックス配列
  • 'OBJECT' - 投稿オブジェクト

戻り値

連想配列/インデックス配列/投稿オブジェクト 
$output で指定した型で投稿の一覧を返します。投稿が無かった場合、バージョン 2.9以降 は空の配列、それ以前は false を返します。

用例

添付ファイルを表示する場合、get_posts() を使うより簡単です:

$images =& get_children( 'post_type=attachment&post_mime_type=image' );

$videos =& get_children( 'post_type=attachment&post_mime_type=video/mp4' );

if ( empty($images) ) {
	// 添付ファイルが無い場合
} else {
	foreach ( $images as $attachment_id => $attachment ) {
		echo wp_get_attachment_image( $attachment_id, 'full' );
	}
}

//  添付ファイルが無い場合のコードを書かない方法:

foreach ( (array) $videos as $attachment_id => $attachment ) {
	echo wp_get_attachment_link( $attachment_id );
}

Show the first image associated with the post

This function retrieves the first image associated with a post

<?php
function echo_first_image( $postID ) {
	$args = array(
		'numberposts' => 1,
		'order' => 'ASC',
		'post_mime_type' => 'image',
		'post_parent' => $postID,
		'post_status' => null,
		'post_type' => 'attachment',
	);

	$attachments = get_children( $args );

	if ( $attachments ) {
		foreach ( $attachments as $attachment ) {
			$image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' )  ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) : wp_get_attachment_image_src( $attachment->ID, 'full' );

			echo '<img src="' . wp_get_attachment_thumb_url( $attachment->ID ) . '" class="current">';
		}
	}
}

Show the first image associated with the post and re-key the array

In the example above, a primary array is keyed with the image ID (the exact thing which is being sought - since we don't know it how are we supposed to access it?). The code below provides an easier handle for the image information: the array $child_image. Should be used in the loop.

$args = array(
	'numberposts' => 1,
	'order'=> 'DESC',
	'post_mime_type' => 'image',
	'post_parent' => $post->ID,
	'post_type' => 'attachment'
	);

$get_children_array = get_children($args,ARRAY_A);  //returns Array ( [$image_ID]... 
$rekeyed_array = array_values($get_children_array);
$child_image = $rekeyed_array[0];  


print_r($child_image);  	//Show the contents of the $child_image array.
echo $child_image['ID'];   	//Show the $child_image ID.

変更履歴

  • 2.0 : 新規導入

ソースファイル

get_children()wp-includes/post.php に含まれています。

get_children()get_posts() を呼んでいます。 get_posts()$WP_Query->get_posts() を呼んでいます。

wp_get_attachment_link(), get_page_children()

添付ファイル関数: get_children(), get attached media(), the_attachment_link(), get_attachment_link(), wp_get_attachment_link(), wp_get_attachment_image(), wp_get_attachment_image_src(), wp_get_attachment_url(), wp_get_attachment_thumb_file(), wp_get_attachment_thumb_url(), is_attachment(), wp_get_attachment_metadata()


記事

コードドキュメンテーション

  • クラス: WP_Query - WP_Query クエリの詳細概要
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方概要
  • 関数: get_query_var()
  • 関数: query_posts() - 追加カスタムクエリの作成
  • 関数: get_post() - 項目の ID を使ってその投稿のレコードをデータベースから取得する
  • 関数: get_posts() - 項目の配列を返す特別な関数。
  • 関数: get_pages() - ページの配列を返す特別な関数。
  • 関数: have posts() - クエリが記事を返すかどうか判断する条件分岐。
  • 関数: the_post() - クエリの後に自動的にループを設定するのに使われる。
  • 関数: rewind_posts() - 現在のループをクリアする。
  • 関数: setup_postdata() - ループ内で単一クエリ結果のデータを設定する。
  • 関数: wp_reset_postdata() - 以前のクエリを復元する(通常、ループ内のもう一つのループで使われる)。
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更するのがメインクエリであるよう保証する。
  • アクションフック: pre_get_posts - 実行される前に WordPress クエリを変更する。
  • アクションフック: the_post - 投稿オブジェクトをクエリの後に変更する。
  • フィルターフック: found_posts - found_posts WP_Query オブジェクトの値を変更する


関連

固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


テンプレートタグへのクエリ文字列型パラメータの渡し方関数リファレンステンプレートタグ目次もご覧ください。


このページ「関数リファレンス/get children」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


最新英語版: WordPress Codex » Function Reference/get children最新版との差分