+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > wordpress > WordPress 自定义前台搜索的文章类型 >

WordPress 自定义前台搜索的文章类型

时间:2024-08-09 15:20:29

WordPress 前台搜索默认的搜索内容是文章或页面,还有自定义文章类型时定义的前台可搜索的文章,如果我们只想搜索某个文章类型怎么办?当然不能凉拌,其实只需要稍微修改一下WordPress 搜索功能的$query 对象就可以了,我们来看一下代码。

复制// 设置WooCommerce只搜索 'product' 文章类型下面的文章
if ( !is_admin() ) {
function searchfilter($query) {
 //限定对搜索查询和非后台查询设置
 if ($query->is_search && !is_admin() ) {
     $query->set('post_type',array('product'));
 }
return $query;
}
add_filter('pre_get_posts','searchfilter');
}

注意关键的地方product,我们在哪里找这个参数呢?在下图中。

Projects-by-WooThemes

其实,如果你对 WordPress 自定义文章类型的方法比较熟悉,这个参数就是自定义文章类型的时候定义的文章类型的slug参数。

上面的代码限制了前台搜索只能搜索 “Product” 文章类型的文章,如果我们需要搜索 “Product” 和“文章”下面的文章(有点绕)?只需要稍微修改一下上面的代码就可以了。

复制$query->set('post_type',array('product','post'));

需要注意的是:这个代码的作用在前台是全局性的,在前台任何地方进行搜索都会受到这段代码的影响,但是不会影响到后台搜索功能,请放心使用。当然,如果你真想对后台也下手,把上面代码中的!is_admin()去掉就可以了。

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title