如何在Wordpress中显示父页面的随机子页面?

时间:2014-01-07 15:46:14

标签: php wordpress

我正在尝试显示父页面的随机子页面,但我收到随机帖子,我不希望将其包含在显示区域中。

$my_query = new WP_Query( array ( 'orderby' => 'rand', 'posts_per_page' => '1', 'pagename=guide') );

所以,我想要的是显示一个父网页的随机子页面,其中slug是指南,但我得到的随机帖子与我想要的完全不同。任何帮助,将不胜感激。谢谢:))

2 个答案:

答案 0 :(得分:4)

这对我有用。 post_type是重要的部分,因为否则WP似乎不会查询页面。 post_parent应该是页面的整数id。

$query = new WP_Query( array( 'orderby' => 'rand', 'posts_per_page' => 1, 'post_type' =>   'page', 'post_parent' => '2' )) ;
if ( $query->have_posts() ) {
        echo '<ul>';
    while ( $query->have_posts() ) {
        $query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
        echo '</ul>';
} else {
    // no posts found
}

答案 1 :(得分:0)

这对我有用:

$my_wp_query = new WP_Query(); // Setup query object
$all_wp_pages = $my_wp_query->query(array('post_type' => 'page')); // Get all pages
$children = get_page_children( get_the_id(), $all_wp_pages); // Get the children pages from list of all pages
$rand = rand(0, (count( $children) - 1)); // Count children and get a random number from that range
print_r( $children[$rand]); // Print random child object

希望这有帮助!