如何在WordPress中获取多个页面ID的子页面

时间:2014-11-14 14:49:17

标签: php wordpress

如果已经提出这个问题,请道歉,但我发现它并没有找到任何结果。我尝试在同一列表中输出多个页面ID的子页面,并且还以各种方式仅 输出这些页面中的6个页面。换句话说,我想获取多个页面的子页面并将结果混合在输出中。 现在我正在使用:

<?php $nbpages = 6; $pages = wp_list_pages('title_li=&sort_column=post_name&child_of=1041'); $pages_arr = explode("\n", $pages); for($i=0;$i<$nbpages;$i++){ echo $pages_arr[$i]; } ?>

这对于获取一个 ID的子页面很好,但是我无法弄清楚如何添加一个数组以获得多个,然后混合结果。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

您应该切换到使用WP_Query,这允许指定post_parent__in参数。此参数接受页面或帖子ID的数组。注意:您需要为此运行WP 3.6或更高版本。

$so26932595_query = new WP_Query( array(
    'posts_per_page' => 4,
    'post_type' => array( 'page' ),
    'orderby' => 'rand',
    'order' => 'none',
    'post_parent__in' => array( 1043, 1045, 1047, 1049, 1591 )
) );

while ( $so26932595_query->have_posts() ) :
    $so26932595_query->the_post();
    echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a>';
endwhile;

wp_reset_postdata();

链接:http://codex.wordpress.org/Class_Reference/WP_Query