WordPress 技巧:让搜索支持自定义字段

商家编码是电商系统的关键属性,用于商品复制和供应链管理。WordPress默认不支持搜索自定义字段,但通过添加代码扩展posts_search钩子,可实现按商家编码搜索商品。只需将代码中的“product_no”替换为所需字段名即可适配其他自定义字段搜索需求。

WordPress基础教程
阅读时间: 8 分钟
最后更新时间:2025年11月13日

作为电商系统,商品的最重要的属性就是商家编码,以后进行一些店铺之间商品复制操作,甚至做供应量,也是需要靠这个属性来进行操作。商家编码,我们一直做为自定义字段,存在 post meta 中,而 WordPress 默认的搜索是不支持 post meta 的,所以根据商家编码搜索商品的功能:

方法非常简单,只需要下面代码就可:

add_action('posts_search', function($search, $query){
	global $wpdb;

	if ($query->is_main_query() && !empty($query->query['s'])) {

		$sql    = " OR EXISTS (SELECT * FROM {$wpdb->postmeta} WHERE post_id={$wpdb->posts}.ID and meta_key = 'product_no' and meta_value like %s)";
		$like	= '%' . $wpdb->esc_like($query->query['s']) . '%';

		$search	.= $wpdb->prepare($sql, $like);
	}
	return $search;
},2,2);

如果你需要相关的功能,只需要将上面的商家编码的字段“product_no”替换成你所需的相关字段即可。

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为10万多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽wordpress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部