这就是我从@Ray Gulick那里得到的解决方案,它为自定义帖子类型提供了一个自定义搜索表单。这在托管服务中可以正常工作,但在localhost中失败,因为表单操作添加为action="/"
如果我将其更改为action="/localhostprojectname/"
然后它就起作用了。
有没有解决方法?
通过修改基本WP搜索表单,您可以将搜索限制为自定义帖子类型,如下所示:
<form id="cptsearch" action="/" method="get">
<input type="text" name="s" />
<input type="hidden" name="post_type" value="POSTTYPENAME" />
<input id="searchsubmit" type="submit" alt="Search" value="Search" />
</form>
要为自定义帖子类型搜索选择专用模板,请在函数文件中添加此过滤器:
function template_chooser($template) {
global $wp_query;
$post_type = get_query_var(\'post_type\');
if( $wp_query->is_search && $post_type == \'POSTTYPENAME\' ) {
return locate_template(\'page_POSTTYPENAME.php\');
}
return $template;
}
add_filter(\'template_include\', \'template_chooser\');
当然,您必须创建专门的搜索结果模板:page\\u POSTTYPENAME。php