目前正在运行此
$args = array(
'post_type' => 'page',
'posts_per_page' => 1,
'post_parent' => 1743,
'meta_query' => array(
array(
'key' => 'sticky',
'value' => '1',
'compare' => '=='
)
)
);
$the_query = new WP_Query( $args );
我在post_parent中嵌套了2个页面,但它只拉了一个深度。有什么方法可以将它扩展到直接子项下面的子页面?
答案 0 :(得分:0)
我没试过这个,但它应该有效:当你在循环中时,对于每个第二层帖子(即你当前能够到达的直接孩子),捕获当前的帖子ID像这样
$level2_parent_ID = $post->ID;
然后使用WP_Query在查询中启动查询,使用$ sub_parent_ID作为post_parent的值。这应该拉起孩子的孩子。
举个例子,继续你离开的地方......
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
$level2_parent_ID = $post->ID;
$level2_args = array(
'post_type' => 'page',
'posts_per_page' => 1,
'post_parent' => $level2_parent_ID,
'meta_query' => array(
array(
'key' => 'sticky',
'value' => '1',
'compare' => '=='
)
)
);
$level2_query = new WP_Query($level2_args);
// The Loop-within-a-loop
if ( $level2_query->have_posts() ) {
while ( $level2_query->have_posts() ) {
$level2_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
}
//plus whatever else you want to do in the outer loop
}
}
/* Restore original Post Data */
wp_reset_postdata();