get children 根据父级文章信息文章的附件、版本、或子页面

函数描述

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' 
); 
?>

参数

在版本2.6种,你必须传递一个非空的 post_type 参数 (attachment 或page)。

$args 数组中可用的选项有:

'numberposts'
(
integer) (
可选) 需要获取的文章数量。

默认: ‘-1’
'post_parent'
(
integer) (
可选) 传递文章或页面的ID以获取子内容,传递 0 获取没有父级的附件,传递 null 获取父级页面。

默认: ‘0’
'post_type'
(
string) (可选) wp_posts数据表中的 post_type 列的任意值,如  attachment, page, 或  revision; 或者关键字  any 获取所有文章类型。

默认: ‘0’
'post_status'
(
string) (可选) wp_posts 数据表中  post_status 列的任意值,如  publish, draft, 或  inherit; 或关键字  any 获取所有文章状态。

默认: ‘any’
'post_mime_type'
(
string) (可选) 全不或部分mime-type, 如: image, video, video/mp4, 和文章的 s post_mime_type 字段相对应。

默认:
None

注意:  查看 get_posts() 以 $args 参数的全部列表。

'output'
(
constant) (可选) 函数返回的数组类型: OBJECT, ARRAY_A, ARRAY_N 中的一个。

默认: OBJECT

返回值

(array)
以文章ID作为数组key的关联文章数组($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' );
	}
}

//  如果不需要处理空结果I:
foreach ( (array) $videos as $attachment_id => $attachment ) {
	echo wp_get_attachment_link( $attachment_id );
}

显示关联到文章的第一张图片

下面的函数获取关联到文章的第一张图片。

<?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="'%20.%20wp_get_attachment_thumb_url(%20$attachment->ID%20)%20.%20'" class="current">';
		}
	}
}

显示关联到文章的第一张图片并且重新排列数组

在上面的示例中,主数组的键位图片ID,(确切的东西,被我们不知道我们怎么访问它?)。下面的这段代码提供了一个更方便的处理图片信息的方法:数组 $child_image,应该在文章循环中使用。

$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);  //返回数组 ( [$image_ID]... 
$rekeyed_array = array_values($get_children_array);
$child_image = $rekeyed_array[0];  

print_r($child_image);  	//打印 $child_image 数组的内容
echo $child_image['ID'];   	//显示 $child_image 数组的ID
支付确认
需要支付
¥0
二维码刷新中