我进行以下查询是为了获得所有按元键排序的帖子(本例中为wpcf estado),但它不按顺序返回项目:
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array(
\'post_type\' => \'proyectos\',
\'posts_per_page\' => 8,
\'paged\' => $paged,
\'orderby\' => \'meta_value\',
\'order\' => \'DESC\',
\'meta_key\' => \'wpcf-estado\',
//\'meta_value\' => \'a\',
);
如果我取消对“meta\\u value”参数的注释,那么我最终只能成功地获得包含“a”的帖子作为wpcf estado。
wpcf estado的可能值为:a、b或c。
我尝试了几种方法,但没有找到合适的解决方案。
SO网友:Syed Fakhar Abbas
@Rod0n WP 4.2版包括以下方面的改进WP_QUERY 尤其是使用“meta\\u query”参数时。同时,检查WP_QUERY Class Refernece.
$args = array(
\'post_type\' => \'proyectos\' ,
\'posts_per_page\' => 8 ,
\'paged\' => $paged,
\'orderby\' => array(
\'meta_value\' => \'DESC\'
),
\'meta_query\' => array(
array(
\'key\' => \'wpcf-estado\',
\'compare\' => \'EXISTS\',
),
),
);
希望它对你有用!
SO网友:mlimon
你试过了吗\'orderby\' => \'meta_value_num\'
?
我觉得更妙的是
$args = array(
\'post_type\' => \'proyectos\',
\'posts_per_page\' => 8,
\'paged\' => $paged,
\'orderby\' => array( \'meta_value_num\' => \'DESC\', \'title\' => \'ASC\' ),
\'meta_key\' => \'wpcf-estado\'
//\'meta_value\' => \'a\',
);