子页面不受Orderby影响

时间:2015-10-23 作者:PaulvdDool

我的循环也不会按我希望的顺序对正在显示的子页面排序ASCDESC.
我已经看到了许多其他类似的问题,但这些问题通过禁用插件(我没有)或删除或添加引号(我已经检查了多次)得到了解决。

<?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();
?>
谁能告诉我我做错了什么?

1 个回复
最合适的回答,由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 );

相关推荐

Get_Terms()Order by Term_Meta

我正在做一个get_terms() 我试图按自定义术语元排序的查询。自定义术语元键是\'order\' 它是一个数值(介于1和10之间)。我尝试了以下方法,但顺序似乎没有遵循元值-任何指针都是值得赞赏的。$type_terms = get_terms( \'type\', array( \'hide_empty\' => false, array( \'key\' => \'order\', ), \'or