我正在尝试显示父页面的随机子页面,但我收到随机帖子,我不希望将其包含在显示区域中。
$my_query = new WP_Query( array ( 'orderby' => 'rand', 'posts_per_page' => '1', 'pagename=guide') );
所以,我想要的是显示一个父网页的随机子页面,其中slug是指南,但我得到的随机帖子与我想要的完全不同。任何帮助,将不胜感激。谢谢:))
答案 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
希望这有帮助!