次のようなメタクエリがあります。
$posts = new WP_Query( 'post_type=article&meta_key=kln_aid&meta_value=' . $aid );
大文字と小文字を区別するにはaid
が必要です。それはMeta Queryを介して可能ですか?
これがmeta_key/_valuesのしくみです。値の保存方法は大文字と小文字が区別されます。
例meta_key = 'foo'
およびmeta_value = 'Bar'
探している結果を返します。
$posts = new WP_Query( 'post_type=post&meta_key=foo&meta_value=Bar' );
あなたが探している結果を返さないでしょう:
$posts = new WP_Query( 'post_type=post&meta_key=foo&meta_value=bar' );
ただし、データベースが大文字と小文字を区別しないように設定されており、いくつかの問題を引き起こす可能性があります。
データベースの照合で大文字と小文字が区別されない場合(_ci付き)、update_post_metaとdelete_post_metaおよびget_postsは、大文字または小文字のキーを使用してメタレコードを更新/削除/クエリします。しかし、get_post_metaはWordPressのキャッシングのために明らかに大文字と小文字を区別します。詳細については、 https://core.trac.wordpress.org/ticket/18210 を参照してください。
参照: update_post_meta 詳細については