我想查询当前页面的兄弟姐妹和孩子。
分别使用'post_parent' => $post->post_parent
或'post_parent' => $post->ID
我可以使用它。
但我想同时查询。
我尝试使用变量“合并”它们,但似乎它不起作用。我得到的输出是网站上的所有页面(与post_parent一样是0)。
<?php
$mysibling = $post->post_parent;
$mychild = $post->ID;
$mychildmysibling = array( $mychild, $mysibling );
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent' => $mychildmysibling,
'sort_order' => 'asc'
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) : ?>
<ul>
<?php while ( $parent->have_posts() ) : $parent->the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title() ?></a></li>
<?php endwhile ?>
</ul>
<?php endif; wp_reset_query(); ?>
答案 0 :(得分:3)
您的查询应如下所示:
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent__in' => $mychildmysibling,
'sort_order' => 'asc'
);
如本页所述:https://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters
post_parent(int) - 使用页面ID仅返回子页面。设为0 仅返回顶级条目 post_parent__in(数组) - 使用帖子 IDS。指定父级在数组中的帖子。 (从那时起可用 版本3.6)
将其视为MySQL问题,在处理多个值时使用"IN" clause。