Wordpress在搜索后直接路由到单个自定义类型结果

时间:2014-08-22 22:36:02

标签: wordpress search routes custom-type

搜索后(so?s = foobar),我更改了查询:

function SearchFilter($query) 
{
    // If 's' request variable is set but empty
    if(isset($_GET['s'])
    && empty($_GET['s'])
    && $query->is_main_query())
    {
        $query->is_search = true;
        $query->is_home = false;
    }


     if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('post','myFooBarCustomType'));
    }

    return $query;
}

但是在查询之后,wordpress路由到search.php页面,我想要使用我的查询的唯一结果路由到单一customType.php页面。 (直接到具有良好URL的答案路线,如www.mywebsite / myCustomType / foobar)

我只希望search.php页面显示空结果或超过1。

请帮忙

1 个答案:

答案 0 :(得分:1)

尝试将这段代码添加到functions.php:

,而不是代码
add_action('template_redirect', 'search_redirect_to_first_result');
function search_redirect_to_first_result() {
    if (is_search()) {
        if (have_posts()) {
            the_post();
            wp_redirect(get_permalink());
            exit;
        }
    }
}