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

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

最近给一个客户二次开发主题,需要加多条件筛选,其中有个筛选就是根据文章的某个post_meta值进行排序,一般的方法是: $args = array( 'paged' => $paged ); $args['meta_key'] = 'favorites'; //这个就是post_meta $args['orderby'] ...

最近给一个客户二次开发主题,需要加多条件筛选,其中有个筛选就是根据文章的某个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);

原文链接:https://www.dqzy.cn/2025/05/06/520.html,转载请注明出处。 1、本站所有源码资源(包括源代码、软件、学习资料等)仅供研究学习以及参考等合法使用,请勿用于商业用途以及违法使用。如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容! 2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,请用户在下载使用前必须详细阅读并遵守软件作者的“使用许可协议”,本站仅仅是一个学习交流的平台。 3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为:www.dqzy.cn。 4、点启资源网是一个免费且专业分享网站源码、图片素材、特效代码、教程文章、站长工具的平台。我们努力给站长提供好的资源!
0

评论0

请先
显示验证码
没有账号?注册  忘记密码?