在WP_Query()类/函数中设置返回项的顺序

时间:2013-01-12 作者:Larry B

我有一个函数IDstitles 其中child pages 给定的parent ID.

function getPageChildren($page_id) {

  $my_wp_query = new WP_Query();
  $all_wp_pages = $my_wp_query->query(array(\'post_type\' => \'page\'));

  $page_children = get_page_children($page_id, $all_wp_pages);

  foreach ($page_children as $p) {    
    $tmp[\'id\'] = $p->ID;
    $tmp[\'title\'] = $p->post_title;    
    $pages[] = $tmp;
  }

  return $pages;    
}
我想在后端对它们进行排序,我想这是在Order 领域

本人已对上述第二份声明进行如下修改:

$all_wp_pages = $my_wp_query->query(array(\'post_type\' => \'page\', \'sort_order\' => \'ASC\', \'sort_column\' => \'menu_order\'));
希望这能告诉函数按照我指定的顺序进行对话,但这似乎不起作用。

有谁能告诉我应该如何从后端订购我的函数结果吗?

谢谢

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

sort_column 不是的有效参数WP_Query. 你想要的orderby. sort_order 也是无效参数。应该是这样的order.

$all_wp_pages = $my_wp_query->query(
    array(
        \'post_type\' => \'page\', 
        \'order\' => \'ASC\', 
        \'orderby\' => \'menu_order\'
    )
);

The Codex is your friend.

结束

相关推荐

在表单SELECT CHANGE上使用AJAX更新Get_Pages

我的页面模板文件(如下)中有以下代码,当与正常表单提交一起使用时,这些代码可以正常工作。我试图做的是在更改select下拉列表时使用ajax(无页面刷新)更新get\\u pages变量。我可以看到firebug控制台中返回的数据,但似乎无法将其返回到php代码/变量。任何帮助都将不胜感激,s。<?php if ( isset($_POST[\'sortables\']) ) : $sortables = $_POST[\'sortables\']; else :