我正在使用此代码对交互式Bing Map可用的菜单选项进行排序。提供的代码是为每个类别中的菜单创建列表元素的内容。我遇到的问题是,它不是通过标记号(mrk_num)对它们进行排序,标记号是在Wordpress的后端声明的自定义字段。我不知道这是否足以帮助定义我的问题,所以如果您需要更多信息,我会尽力提供。
使用提供的代码,结果会显示但不符合它们的顺序。
function navItems($navSet){
$args = array( 'post_type' => 'territory_map',
'posts_per_page' => -1,
'meta_value' => $navSet,
'orderby'=>'mrk_num',
'order'=>'ASC'
);
$loop = new WP_Query($args);
while ( $loop->have_posts() ) : $loop->the_post();
$mrkNum = get_custom_field('mrk_num');
echo '<li><a onclick="activateInfoBox('.get_the_id().', $(this))" href="#">' . $mrkNum . ' ' .get_the_title() . '</a></li>';
endwhile;
}
$ navSet是我从HTML中调用它时传递给它的类别的名称。例如,我将通过它'室内景点'
结果显示但不是基于字段mrk_num的升序。我对此很新,所以我将尝试提供您可能需要的更多信息。
答案 0 :(得分:0)
通常,这应该有效。
$args = array(
'post_type' => 'territory_map',
'posts_per_page' => -1,
'meta_key' => 'mrk_num',
'orderby'=>'meta_value_num',
'order'=>'ASC',
'meta_query' => array(
array(
'key' => 'your_key',
'value' => $navSet,
'compare' => '='
)
)
);
如果它不起作用,我已经体验过你想要实现的目标,最好的方法是调试mysql查询(你可以使用这个plugin)并在{{3上添加一个过滤器}}