it-swarm.com.de

Wie kann man Meta Query case sensitive machen?

Ich habe eine Meta-Abfrage ähnlich der folgenden:

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

wo ich aid brauche, um zwischen Groß- und Kleinschreibung zu unterscheiden. Ist das via Meta Query möglich?

1
Spiro

So funktionieren meta_key/_values. Wie Sie Ihre Werte speichern, hängt von der Groß- und Kleinschreibung ab.

Beispiel meta_key = 'foo' und meta_value = 'Bar'

Würde das gesuchte Ergebnis zurückgeben:

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

Würde das gesuchte Ergebnis nicht zurückgeben:

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

Es scheint jedoch, dass Ihre Datenbank so eingerichtet werden kann, dass die Groß- und Kleinschreibung nicht beachtet wird und einige Probleme auftreten.

Beachten Sie, dass bei einer Datenbanksortierung, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird (mit dem Suffix _ci), update_post_meta und delete_post_meta und get_posts die Metadatensätze mit Schlüsseln in Groß- oder Kleinschreibung aktualisieren/löschen/abfragen. Get_post_meta wird jedoch anscheinend aufgrund von WordPress-Caching zwischen Groß- und Kleinschreibung unterscheiden. Weitere Informationen finden Sie unter https://core.trac.wordpress.org/ticket/18210 .

Referenz: update_post_meta für weitere Informationen

1
stoi2m1