// 取消搜索词大小写区分
function zib_custom_search_case_insensitive($where) {
global $wpdb;
// 针对 MySQL 数据库(将搜索词和字段都转为小写匹配)
if (strpos($where, "{$wpdb->posts}.post_title LIKE") !== false) {
$where = preg_replace(
"/({$wpdb->posts}.post_title LIKE ')%'/",
"LOWER({$wpdb->posts}.post_title) LIKE LOWER('$1%')",
$where
);
}
if (strpos($where, "{$wpdb->posts}.post_content LIKE") !== false) {
$where = preg_replace(
"/({$wpdb->posts}.post_content LIKE ')%'/",
"LOWER({$wpdb->posts}.post_content) LIKE LOWER('$1%')",
$where
);
}
return $where;
}
add_filter('posts_where', 'zib_custom_search_case_insensitive');