首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >合并自定义post类型的两个搜索函数

合并自定义post类型的两个搜索函数
EN

WordPress Development用户
提问于 2019-09-19 22:09:37
回答 1查看 34关注 0票数 0

除了站点的搜索。我有一个自定义搜索的特定的帖子类型和不同的顺序与全局搜索。下面是两个函数,它可以工作。我想知道这两者是否可以合并成一个,或者如果可能的话可以简化?

代码语言:javascript
复制
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');
EN

回答 1

WordPress Development用户

回答已采纳

发布于 2019-09-19 23:44:00

您的函数已经足够简单了,其次,这些函数执行的是不同的事情:

  • _s_staff_query()过滤posts查询变量,函数必须在WP_Query查询数据库之前运行。
  • _s_staff_search()过滤搜索结果模板,该函数必须在WP_Query查询数据库之后运行。

所以让他们保持独立。

票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/348682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档