WordPress 强大之一就是支持自定义字段,我们可以为文章页添加各种各样的自定义字段,这些自定义字段是存在 wp_postmeta 表内,而 WordPress 默认的搜索是不支持搜索 wp_postmeta 表内的数据的,所以想让 WordPress 默认搜索支持搜索自定义字段数据,我们可以将以下代码添加到当前主题的 functions.php 文件中:
add_action('posts_search', function($search, $query){
global $wpdb;
if ($query->is_main_query() && !emptyempty($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”替换成你所需的相关字段。
以上内容整理自@我爱水煮鱼