您可以使用WordPress的WP_Query

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

来根据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不存在,则它会被视为具有空值。