我试图根据一个帖子的元值和日期对帖子进行排序。我正在使用这个插件(https://github.com/JonMasterson/WordPress-Post-Like-System ) 为我的帖子添加like系统。
我的代码如下。
$args = array(
\'numberposts\' => 15,
\'offset\' => 0,
\'category\' => 0,
\'meta_key\' => \'_post_like_count\',
\'orderby\' => \'meta_value_num post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'post\',
\'suppress_filters\' => true
);
$recent_posts = wp_get_recent_posts( $args );
插件添加了一个元键
_post_like_count
如果至少有一个人喜欢这个职位,就把它放到桌子上。上面的代码只返回至少有一个like计数的帖子(比如15个帖子中有3个)。
我如何获取其余没有meta键的帖子,并根据日期对其进行排序?
SO网友:Milo
如果您希望这两篇文章都有和没有元键,那么您需要OR
关系元查询,用于选择带有关键字的帖子和不存在关键字的帖子。
$args = array(
\'meta_query\' => array(
\'relation\' => \'OR\',
array(
\'key\' => \'_post_like_count\',
\'compare\' => \'EXISTS\'
),
array(
\'key\' => \'_post_like_count\',
\'compare\' => \'NOT EXISTS\'
)
),
\'orderby\' => \'meta_value_num post_date\',
\'order\' => \'DESC\'
);
$recent = new WP_Query( $args );