作为电商系统,商品的最重要的属性就是商家编码,以后进行一些店铺之间商品复制操作,甚至做供应量,也是需要靠这个属性来进行操作。商家编码,我们一直做为自定义字段,存在 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”替换成你所需的相关字段即可。