Abfrage WordPress Beiträge für mehrere meta-Schlüssel mit mehreren Werten

Im habend ärger mit meiner WordPress-Abfrage auf ein Projekt, das ich für einen Kunden von uns. Im Grunde mein problem ist, dass ich zu greifen möchte Beiträge aus der Datenbank mit der angegebenen meta_keys. Ich möchte meine Beiträge (wpcompare) mit dem meta-key "_price" und Wert zwischen xx und yy. Funktioniert gut so weit. Jetzt möchte ich hinzufügen-Filter für Hersteller, Kategorien und tags. Diese filter-Werte sind alle mehrere, so dass Sie können wählen Sie mehrere Hersteller. Zum Beispiel Canon und Nikon. Also mit der WP_MetaQuery ich kann mehrere filter meta_keys und Werte, aber ich kann kombinieren-Abfragen mit und UND oder.

Lassen Sie mich Ihnen ein Beispiel geben, wie meine Abfrage sollte funktionieren:

"Gib mir alle Beiträge mit post_type "wpcompare", wo die meta_value _price ist zwischen 100 und 200 Dollar, und wenn der Hersteller (_hersteller) ist Canon ODER Nikon ODER Sony".

Mein Kopf dreht verrückt, so bitte helfen Sie mir.

Vielen Dank im Voraus 🙂

Hier ist mein Code:

if(isset($_POST) AND !empty($_POST))
{
    $meta_query = array(
        'relation' => 'AND',
        array(
            'key' => '_price',
            'value' => array($_POST['p_from'], $_POST['p_to']),
            'type' => 'CHAR',
            'compare' => 'BETWEEN'
        ),

    );
}
else
{
    $meta_query = '';
}

$args = array(
    'post_type' => 'wpcompare',
    'post_status' => 'publish',   
    'paged' => $paged,
    'meta_query' => $meta_query,
    'posts_per_page' => ($per_page == false) ? 18 : $per_page,
    'ignore_sticky_posts'=> true
);

$temp = $wp_query;

$wp_query = null;
$wp_query = new WP_Query($args)
InformationsquelleAutor robindee | 2013-11-12
Schreibe einen Kommentar