您可以使用WordPress的WP_Query
来根据meta_key
对文章进行排序,如果meta_key
不存在,则可以将其视为具有空值的文章。以下是一个示例查询的代码:
$args = array(
'post_type' => 'post', // 您的文章类型
'meta_key' => 'your_meta_key', // 您的meta_key
'orderby' => 'meta_value_num', // 根据meta_value数值排序
'order' => 'ASC', // 升序排列
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'your_meta_key',
'compare' => 'EXISTS', // 如果meta_key存在
),
array(
'key' => 'your_meta_key',
'compare' => 'NOT EXISTS', // 如果meta_key不存在
),
),
);
$query = new WP_Query($args);
if ($query>have_posts()) :
while ($query>have_posts()) :
$query>the_post();
// 在这里输出文章内容
endwhile;
wp_reset_postdata();
else :
// 没有匹配的文章
endif;
请将上述代码中的your_meta_key
替换为您实际使用的meta_key。这个查询将首先按照meta_key
的存在与否排序,然后按照meta_value的数值进行升序排序。如果meta_key
不存在,则它会被视为具有空值。