2017-12-05
テーブルの照合順序が utf8_general_ci とかだと、メタキーを大文字小文字を区別しないで保存してしまうようなので、
以下のように functions.php に記載
BINARY 演算子を使うと大文字小文字を区別する模様
/** * メタ情報を保存時、キーの大文字小文字を区別して保存 */ add_filter('query', 'change_query_case_discrimination'); function change_query_case_discrimination($sql) { if (strpos($sql, 'UPDATE') === false) { return $sql; } if (strpos($sql, 'meta_value') === false) { return $sql; } $sql = str_replace("`meta_key`", "BINARY `meta_key`", $sql); return $sql; }
Categorised in: