wordpress收费下载资源主题
wordpress付费下载资源插件

WordPress 根据post_meta排序文章(当meta_key不存在时)

最近给一个客户二次开发主题,需要加多条件筛选,其中有个筛选就是根据文章的某个post_meta值进行排序,一般的方法是:

$args = array(
 'paged' => $paged
 );
 $args['meta_key'] = 'favorites'; //这个就是post_meta
 $args['orderby'] = 'meta_value_num';
 query_posts($args);

但是以上代码有个问题,当文章没有此post_meta时,是不会显示出来的,这个很尴尬吧~那个解决方案如下:

$args = array(
 'paged' => $paged
 );
 //$args['meta_key'] = 'favorites'; //这个就是post_meta
 $args['meta_query'] = array();
 array_push($args['meta_query'], array(
 'relation' => 'OR',
 'exist_clause' => array(
 'key' => 'favorites',
 'compare' => 'EXISTS'
 ),
 'not_exist_clause' => array(
 'key' => 'favorites',
 'compare' => 'NOT EXISTS'
 ),
 ) );
 $args['orderby'] = 'meta_value_num';
 query_posts($args);

1 个评论

定制开发
本站承接WordPress等系统建站仿站、二次开发、主题插件定制等开发服务
在线咨询
  • 请先加Q,临时会话收不到
    QQ:1-247-246-247

  • QQ一群:104228692(满)
  • QQ二群:64786792
在线咨询
本站承接WordPress建站仿站、二次开发、主题插件定制等PHP开发服务!

了解详情