自定义字段值的Wordpress命令
我正在使用此代码对可用于交互式Bing地图的菜单选项进行排序。提供的代码是为每个类别的菜单创建列表元素。我遇到的问题是,它不是通过在Wordpress后端声明的自定义字段的标记号(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应该是。我对此很新,所以我会尽力提供您可能需要的信息。
通常,这应该工作。
$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)和posts_orderby添加过滤器。
当我使用您提供的代码时,不会返回任何结果。 – Fogolicious
其实,我在Wordpress的本地安装上尝试了我的代码,它正在工作。我没有看到你卡在哪里。 –
我认为问题是(并且我不是100%确定)在你的代码中,你正在通过meta_value进行排序,并且$ navSet是真正的类别,我想通过mrk_num命令,这是用户设置的值后端。 – Fogolicious
这可能对你有帮助吗? https://wordpress.stackexchange.com/questions/4707/sort-by-custom-field-value – reikyoushin