如何从WordPress中的特定页面的子页面检索附件?

时间:2012-06-15 18:06:49

标签: php html wordpress

如何从特定网页ID的所有子页面中检索附件?

示例:

特定页面

  • 儿童(附件)
  • 儿童(附件)
  • 儿童(附件)

我目前正在使用此代码检索网站范围内的所有附件,但我想将其限制为仅从特定网页的所有子项中提取图片。

<?php
$args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => null ); 
$attachments = get_posts( $args );
if ($attachments) {
    foreach ( $attachments as $post ) {
        setup_postdata($post);
        the_title();
        the_attachment_link($post->ID, false);
        the_excerpt();
    }
}
?>

根据Nick的建议,几乎使用此代码:

<?php

$mypages = get_pages('child_of=19');
foreach ( $mypages as $mypage  ) {
$attachments = get_children(array('post_parent' => $mypage->ID, 'numberposts' => 1, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'rand'));


if ($attachments) {

    foreach ( $attachments as $post ) {

        setup_postdata($post);
        the_title();
        the_attachment_link($post->ID, false);
        the_excerpt();
    }
}
}
?>

但是,还有两个问题:

  1. 限制总照片的数量。使用'numberposts'仅限制从每个帖子中提取的图像数量
  2. 随机化。 Orderby =&gt;兰德只随机化每个帖子中的图像。我想随机改变一切顺序。

1 个答案:

答案 0 :(得分:1)

尝试使用get_pages( $args )

<?php $args = array(
'child_of' => 'SPECIFIC PAGE',
'parent' => 'SPECIFIC PAGE',
'post_type' => 'attachment',
'post_status' => 'publish',
'numberposts' => -1
); ?>

使用child_of将获得所有子孙后代。

parent会将此限制为仅将其作为父级的子项。没有孙子。

请点击此处了解更多详情。 http://codex.wordpress.org/Function_Reference/get_pages