如果元键不存在,则按元键排序的Pre Get帖子不返回任何结果

时间:2019-01-17 作者:rhysclay

我可以按自定义字段(“tour\\u length\\u days”)对帖子进行排序。但是,如果现有帖子上不存在此字段,则不会返回任何结果。我希望有一种方法可以在调整查询之前有条件地检查该元键是否有值?

这是我的代码:

function apply_destinations_query_filter ($query)
{
    if (is_admin()) {
        return $query;
    }

    if (is_tax(\'destination\') && $query->is_main_query()) {

        $query->set(\'meta_key\', \'tour_length_days\');       
        $query->set(\'orderby\', array(\'meta_value\' => \'ASC\', \'date\' => \'DESC\'));
    }

    return $query;
}
add_action(\'pre_get_posts\', \'apply_destinations_query_filter\');

1 个回复
SO网友:Mohsin Ghouri

请使用“meta\\u value”=>“meta\\u value\\u num”而不是“AC”。您还可以从文档中获取帮助,查看可以在查询=>https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters