0
我想在Wordpress管理中的自定义帖子类型的自定义元字段中生成复选框列表。我正在使用ACF创建字段。我可以查询所有页面,但orderby参数不受尊重。它只是通过date_created输出它们。在WP管理页面按标题排序管理不起作用
这里是我的查询:
$pageArgs = array(
'post_type' => 'page',
'posts_per_page' => -1,
'nopaging' => true,
'orderby' => 'title',
'order' => 'ASC'
);
$pageArray = array();
$pageQuery = new WP_Query($pageArgs);
if($pageQuery->have_posts()) {
while($pageQuery->have_posts()) {
$pageQuery->the_post();
$pageArray[get_the_permalink()] = get_the_title();
}
}
你可以看到我创建一个空数组,并从查询中输入值到循环中的数组。如果在循环后转储数组,orderby参数不会被反映出来。此外,如果我转储查询对象,它显示SQL查询,它仍然按menu_order排序。
$ pageQuery转储:
...
public 'request' => string 'SELECT SQL_CALC_FOUND_ROWS wp_8_posts.ID
FROM wp_8_posts
WHERE 1=1 AND wp_8_posts.post_type = 'page' AND ((wp_8_posts.post_status = 'publish'))
ORDER BY wp_8_posts.menu_order, wp_8_posts.post_date DESC LIMIT 0, 10'
...
这是因为查询在管理做出?我肯定可以对数组进行排序,一旦循环完成,但为了更好地理解WP,我想知道为什么会发生这种情况。
而且,我可以查询这一点,它正确地列出了网页....
$args = array(
'authors' => '',
'child_of' => 0,
'date_format' => get_option('date_format'),
'depth' => 0,
'echo' => 1,
'exclude' => '',
'include' => '',
'link_after' => '',
'link_before' => '',
'post_type' => 'page',
'post_status' => 'publish',
'show_date' => '',
'sort_column' => 'post_title',
'title_li' => __('Pages'),
'walker' => ''
);
var_dump(wp_list_pages($args));
其转储字母顺序页面名称。