自定义搜索表单在本地主机中不起作用

时间:2018-10-13 作者:Alt C

这就是我从@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

1 个回复
最合适的回答,由SO网友:Alt C 整理而成

表格必须更新为

 <form id="cptsearch" action="<?php echo home_url(); ?>" 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>

结束

相关推荐

Media searching ignored

我们的网站使用WordPress,有很多媒体文件。我们网站的媒体名称格式如下[Car brand\'s name]-[number].jpg, 例如Tesla-1.jpg 或Aston Martin-3.jpg. 因此,我们可以通过搜索文章的名称轻松找到文章的特定媒体。但突然间,我们找不到媒体。我们正在尝试搜索名称为的媒体,但搜索结果不变。(不搜索任何内容时的媒体屏幕)(搜索Aston Martin时的媒体屏幕)当然,在填充搜索文本框后,它会显示一个加载图标,但结果总是一样的。为什么会发生这种情况?更新+