搜索后(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。
请帮忙
答案 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;
}
}
}