正在尝试调试,令人头痛,因此我希望确保已将查询参数放置在正确的位置。我想根据“myvalue”对所有帖子进行排序/排序。
if ( have_posts() ) :
/* Start the Loop */
$args = array(
\'meta_key\' => \'myvalue\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'DESC\'
);
query_posts( $args );
/* End Condition */
while (have_posts()) : the_post();
get_template_part( \'content\', get_post_format() );
endwhile;
endif;
EDIT: 更新了代码:
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
$args = array(
\'posts_per_page\' => 10,
\'order\' => \'DESC\',
\'paged\' => $paged,
\'meta_value_num\' => \'likes_count\',
\'orderby\' => \'meta_value_num\'
);
$posts = new WP_Query($args);
while ($posts->have_posts()): $posts->the_post();
endwhile;
我使用这段代码来检索元值
https://wordpress.stackexchange.com/a/66955
最合适的回答,由SO网友:s_ha_dum 整理而成
我猜,但根据您在上面代码中选择的占位符名称。。。
$args = array(
\'meta_key\' => \'myvalue\',
\'orderby\' => \'meta_value_num\',
\'order\' => \'DESC\'
);
。。。你的
meta_key
论点是错误的。这是元键,而不是你的命名惯例所暗示的元值。
meta\\u键(字符串)-自定义字段键。
http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
代替
query_posts
使用新的
WP_Query
对象或在上使用筛选器
pre_get_posts
更改主查询。这个网站充满了这两方面的例子。即使是法典也告诉您不要使用此功能:
注意:此功能不适用于插件或主题。
http://codex.wordpress.org/Function_Reference/query_posts
如果这没有帮助,那么您将不得不提供更多信息,但我猜您的
meta_value
不是数字,但也有其他东西——标点符号、字母等等。
根据更新的代码,我很确定您想要的是thsi:
$args = array(
\'posts_per_page\' => 10,
\'order\' => \'DESC\',
\'paged\' => $paged,
\'meta_key\' => \'likes_count\',
\'orderby\' => \'meta_value_num\'
);