除了站点的搜索。我有一个自定义搜索的特定的帖子类型和不同的顺序与全局搜索。下面是两个函数,它可以工作。我想知道这两者是否可以合并成一个,或者如果可能的话可以简化?
function _s_staff_search($template) {
    global $wp_query;
    if ($wp_query->is_search && 'staff' === get_query_var('post_type')) {
        $template = get_template_part('template-parts/staff-search');
    }
    return $template;
}
add_filter('template_include', '_s_staff_search');
function _s_staff_query($query) {
    if ($query->is_search() && 'staff' === get_query_var('post_type')) {
        $query->query_vars['orderby'] = 'name';
        $query->query_vars['order'] = 'ASC';
    }
}
add_filter('parse_query', '_s_staff_query');发布于 2019-09-19 23:44:00
您的函数已经足够简单了,其次,这些函数执行的是不同的事情:
_s_staff_query()过滤posts查询变量,函数必须在WP_Query查询数据库之前运行。_s_staff_search()过滤搜索结果模板,该函数必须在WP_Query查询数据库之后运行。所以让他们保持独立。
https://wordpress.stackexchange.com/questions/348682
复制相似问题