Ankerlink an den Anfang der Seite
802 5661
Foto von Gabriele Lässer
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 24. März 2023, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Nachfolge Vergleichs-Operatoren können verwendet werden:

  • = Fragt Metaschlüssel ab, die gleich einem Metawert sind
  • != Fragt Metaschlüssel ab, die NICHT gleich einem Metawert sind
  • > Fragt Metaschlüssel ab, die größer als der Metawert sind
  • >= Fragt Metaschlüssel ab, die größer & gleich dem Metawert sind
  • < Fragt Metaschlüssel ab, die kleiner als der Metawert sind
  • <= Abfrage von Metaschlüsseln, die kleiner und gleich dem Metawert sind
  • LIKE Sucht nach einer Übereinstimmung zwischen dem Metawert und einer von Ihnen angegebenen Zeichenfolge
  • NOT LIKE Sucht nach einer Nichtübereinstimmung zwischen dem Metawert und einer von Ihnen angegebenen Zeichenkette
  • IN Sucht nach Übereinstimmungen zwischen dem Metawert und einem von Ihnen angegebenen Array von Werten
  • NOT IN Sucht nach Nichtübereinstimmungen zwischen dem Metawert und einem von Ihnen angegebenen Wertefeld
  • BETWEEN Sucht nach Übereinstimmungen zwischen zwei von Ihnen angegebenen Werten
  • NOT BETWEEN Sucht nach Nichtübereinstimmungen zwischen zwei von Ihnen angegebenen Werten

Auch der Typ lässt sich in der Abfrage definieren:

NUMERIC, BINARY, CHAR, DATE, DATETIME, DECIMAL, SIGNED und UNSIGNED

Mit diesem Snippet lassen sich Beiträge, in denen ein bestimmter Wert in einem benutzerdefinierten Feld vorkommt, suchen:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_custom_field',
            'value' => 'suchwert',
            'compare' => 'LIKE',
        )
    )
);
$q = new WP_Query($args);

Soll der exakte Wert vorkommen, den Operator „=“ verwenden.

Um nach mehreren Werten (einem Array von Werten) zu suchen:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_custom_field',
            'value' => array('value1', 'value2', 'value3'),
            'compare' => 'IN',
        )
    )
);
$q = new WP_Query($args);

Um festzustellen, ob ein bestimmter Wert gesetzt wurde, aber nicht welcher, kann mit dem Vergleichsparameter EXISTS abgefragt werden:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_meta_key',
            'compare' => 'EXISTS'
        )
    )
);
$query = new WP_Query( $args );

Umgekehrt funktioniert das natürlich auch:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_meta_key',
            'compare' => 'NOT EXISTS'
        )
    )
);
$query = new WP_Query( $args );

Die Such nach einem numerischen Wert innerhalb eines bestimmten Bereich:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_meta_key',
            'value' => array( 10, 30 ),
            'type' => 'numeric',
            'compare' => 'BETWEEN'
        )
    )
);
$query = new WP_Query( $args );

Für einen („=“) oder mehreren bestimmten numerischen Werten („IN) den Operator ändern. Außerhalb des definierten Bereich wäre der Operator NOT BETWEEN….

Die Suche nach posts in einem Datumgsbereichs zwischen zwei Datümern liegt:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'my_meta_key',
            'value' => array( '2023-07-01', '2023-12-31' ),
            'compare' => 'BETWEEN',
            'type' => 'DATE'
        )
    )
);
$query = new WP_Query( $args );

Hier ein Beispiel für eine Mehrfachsortierung nach Meta Keys:

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'key' => 'first_key',
            'value' => 'value1',
            'compare' => '='
        ),
        array(
            'key' => 'second_key',
            'value' => 'value2',
            'compare' => '='
        ),
        array(
            'key' => 'third_key',
            'value' => array( 10, 30 ),
            'type' => 'numeric',
            'compare' => 'BETWEEN'
        )
    ),
    'orderby' => array(
        'first_name' => 'ASC',
        'last_name' => 'ASC',
        'age' => 'DESC'
    )
);
$query = new WP_Query( $args );

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.