我的循环也不会按我希望的顺序对正在显示的子页面排序ASC
或DESC
.
我已经看到了许多其他类似的问题,但这些问题通过禁用插件(我没有)或删除或添加引号(我已经检查了多次)得到了解决。
<?php
$args = array(
\'post_type\' => \'page\',
\'post_parent\' => \'faq\',
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\'
);
$x = 0;
$the_query = new WP_Query( array( $args ) );
if($the_query->have_posts()) {
echo \'<ul>\';
while($the_query->have_posts()) {
$the_query->the_post();
echo \'<li>\';
echo "<input type=\'checkbox\' id=\'" . $x . "\' />";
echo "<label for=\'" . $x . "\'>" . get_the_title() . "</label>";
echo "<div class=\'answer\'>";
echo the_content();
echo "</div>";
echo \'</li>\';
$x++;
}
echo \'</ul>\';
} else {
echo "Nothing here to see";
}
wp_reset_postdata();
?>
谁能告诉我我做错了什么?
最合适的回答,由SO网友:Pieter Goosen 整理而成
post_parent
应该是ID 后父级的,而不是slug。
除此之外,您的代码应该可以工作。如果没有,请查找posts_*
过滤器或pre_get_posts
可能影响自定义查询的操作
编辑我错过的其他内容,$args
已经是一个数组,因此在调用它时不需要将其添加到另一个数组中。
$the_query = new WP_Query( array( $args ) );
应该是
$the_query = new WP_Query( $args );