我有一个Wordpress网站,上面有产品目录。每个产品都有一个UPC / SKU(标识号),使用这样的自定义元数据声明:
if(!class_exists('product_metabox') && class_exists('CCM_METABOX')){
class product_metabox extends CCM_METABOX{
function __construct() {
$metabox_data = array(
'title' => __('Product Data'),
'post_type' => array('product'),
'fields' => array(
array(
'id' => 'upc',
'type' => 'text',
'label' => __('UPC/SKU'),
),
),
);
parent::__construct('product_metabox', $metabox_data);
}
}
$product_metabox = new product_metabox();
$product_metabox->init();
我添加了一个过滤器,只搜索产品,而不是搜索同一网页上的博客/帖子,过滤器是:
function searchfilter($query) {
if ($query->is_search && !is_admin() ) {
$query->set('post_type',array('product'));
}
return $query;
}
add_filter('pre_get_posts','searchfilter');
在按ID / SKU元数据搜索时,如何在结果中包含产品?例如,我有一个带有UPC“CM-5674”的“白色钱包”,如果我搜索“钱包”,结果会显示白色钱包,但如果我输入CM-5674(UPC),它就不会显示该产品。