web-dev-qa-db-fra.com

Comment rendre Meta Query sensible à la casse?

J'ai une méta requête semblable à:

$posts = new WP_Query( 'post_type=article&meta_key=kln_aid&meta_value=' . $aid );

où j'ai besoin de aid pour tenir compte de la casse. Est-ce possible via Meta Query?

1
Spiro

C'est comme ça que meta_key/_values. La manière dont vous stockez vos valeurs est sensible à la casse.

Exemple meta_key = 'foo' et meta_value = 'Bar'

Retournerait le résultat que vous recherchez:

$posts = new WP_Query( 'post_type=post&meta_key=foo&meta_value=Bar' );

Ne renverrait pas le résultat que vous recherchez:

$posts = new WP_Query( 'post_type=post&meta_key=foo&meta_value=bar' );

Cependant, il semble que votre base de données puisse être configurée sans tenir compte de la casse et causer des problèmes.

Veuillez noter que si votre classement de base de données est insensible à la casse (avec le suffixe _ci), update_post_meta et delete_post_meta et get_posts mettront à jour/supprimer/interroger les méta-enregistrements avec des clés majuscules ou minuscules. Cependant, get_post_meta sera apparemment sensible à la casse en raison de la mise en cache de WordPress. Voir https://core.trac.wordpress.org/ticket/18210 pour plus d'informations.

Référence: update_post_meta pour plus d'informations

1
stoi2m1