WordPress-Metaabfrage vergleicht eine Summe von zwei Schlüsseln

Lesezeit: 1 Minute

Ich implementiere einen Filter für Häuser und habe zwei Felder in meiner Datenbank: “Bäder” und “Toiletten”. Das Problem ist das nächste. Wenn ich filtere, möchte ich, dass mein Wert durch die Summe dieser beiden Felder gefiltert wird.

Zum Beispiel: Ich möchte ein Haus mit 2 Badezimmern und in meinem DB habe ich eines mit 1 Badezimmer und 1 Toilette. Dieser sollte als Ergebnis enthalten sein.

Im Moment funktioniert meine Abfrage nur mit Badezimmern und nicht mit Toiletten:

if (!empty($_GET['filter_bathrooms'])) {
    $properties['meta_query'][] = array(
        'key' => '_property_bathrooms',
        'value' => $_GET['filter_bathrooms'],
        'compare' => '>=',
        'type' => 'numeric',
    );
}

Mit diesem Code bekommt mein System nur die Häuser mit 2 Badezimmern und nicht mit 2 (Badezimmer+Toiletten).

Mein Feld in der Datenbank für Toiletten ist: ‘_property_toilets’.

Irgendeine Hilfe?

  • Ich glaube nicht, dass Sie diese Art von Abfrage einfach machen können. Was ist, wenn Sie stattdessen ein verstecktes Meta hinzufügen (z bathrooms_sum) zu Ihrem benutzerdefinierten Beitrag, der jedes Mal aktualisiert wird, wenn die anderen beiden aktualisiert werden? Dann können Sie Ihren Filter nur mit diesem meta_key erstellen.

    – d79

    1. April 2015 um 3:17 Uhr

Ich finde Dies ist das, wonach Sie suchen. Auf diese Weise können Sie nach verschiedenen benutzerdefinierten Metafeldern sortieren.

            <?
            $args = array(
                'post_type' => 'post',
                'tax_query' => array(
                    'relation' => 'OR',
                    array(
                        'taxonomy' => 'category',
                        'field'    => 'slug',
                        'terms'    => array( 'quotes' ),
                    ),
                    array(
                        'taxonomy' => 'post_format',
                        'field'    => 'slug',
                        'terms'    => array( 'post-format-quote' ),
                    ),
                ),
            );
            $query = new WP_Query( $args );
            ?>

1366510cookie-checkWordPress-Metaabfrage vergleicht eine Summe von zwei Schlüsseln

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy