Wordpress how to use a second form that only searches for posts?(WordPress如何使用只搜索帖子的第二个表单?)
本文介绍了WordPress如何使用只搜索帖子的第二个表单?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的WordPress网站上有两个表单:search.blade.php
和blog-search.blade.php
。
search.blade.php
位于网站标题中,并搜索所有内容类型。
blog-search.blade.php
仅用于搜索帖子类型。
我使用以下代码让它只搜索博客文章:
function searchfilter($query) {
if ($query->is_search && !is_admin() ) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','searchfilter');
可以理解,这既适用于earch.blade.php,也适用于博客搜索,但我只希望它适用于博客搜索。
我认为,如果我添加一个条件来检查只存在于博客搜索上的隐藏输入的值,我可以让它工作,但我不知道如何做到这一点。
以下是我的博客-earch.blade.php代码:
<form action="{{ get_bloginfo('url') }}" method="GET" class="blog-search-form">
<input type="search" name="s" placeholder="Search the blog...">
<input type="hidden" name="search-type" value="normal" />
<span class="icon-search"></span>
</form>
有没有办法可以实现如下内容:
function searchfilter($query) {
if ($query->is_search && !is_admin() && INPUT TYPE == HIDDEN ) {
$query->set('post_type', 'post');
}
...
所以只有博客搜索才能搜索文章,而我的主搜索像往常一样工作?我尝试了implementing this,但没有成功,所以我认为条件可能会有所帮助。
search.blade.php,以防万一:
<form action="{{ get_bloginfo('url') }}" method="GET" class="search-form">
<input type="search" name="s" placeholder="Search the site">
</form>
推荐答案
您可以通过多种方式进行设置。我个人总是使用AJAX方法来查询数据库,但如果您想使用query_vars
方法,因为您已经在考虑它并在您的问题中提出了建议,那么您可以这样做:
所以这将是您的html表单:
<form method="GET">
<input type="search" name="s" placeholder="Search the blog...">
<input type="hidden" name="onlyblog" id="onlyblog" value="yes" />
<span class="icon-search"></span>
<button type="submit">Search</button>
</form>
然后在php
端,条件检查的onlyblog
值如下:
function searchfilter($query) {
$query_type = isset($_GET['onlyblog']) ? sanitize_text_field($_GET['onlyblog']) : "";
if ($query->is_search && !is_admin() && !empty($query_type) && 'yes' == $query_type) {
$query->set('post_type', 'post');
}
return $query;
}
如果您能让它工作,请让我知道!
这篇关于WordPress如何使用只搜索帖子的第二个表单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:WordPress如何使用只搜索帖子的第二个表单?
基础教程推荐
猜你喜欢
- 在多维数组中查找最大值 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01