it-swarm.com.de

WP_Query-Reihenfolge nach mehreren Metaschlüsseln und Feldern

Wie bestelle ich eine Abfrage nach mehreren Metaschlüsseln und Feldern/benutzerdefinierten Feldern?

Das ist mein Code:

$args = array
    (
        'post_type' => 'listing',
        'posts_per_page' => -1,
        'tax_query' => array
        (
            array
            (
                'taxonomy' => 'listing_category',
                'field' => 'slug',
                'terms' => urldecode($category)
            ),
            array
            (
                'taxonomy' => 'location',
                'field' => 'slug',
                'terms' => urldecode($location)
            )
        ),

        //*** THIS NOT WORK
        'meta_query'    => array
        (
            array(
                'key'     => 'listing_status',
                'orderby' => 'meta_value',
                'order' => ASC,
            ),
            array(
                'key'     => 'listing_total_rank',
                'orderby' => 'meta_value',
                'order' => DESC,
            ),
            array(
                'key'     => 'listing_free_date',
                'orderby' => 'meta_value',
                'order' => ASC,
            ),
            array(
                'key'     => 'title',
                'orderby' => 'meta_value',
                'order' => ASC,
            ),
        ),
        //***
    );

$listings = new WP_Query( $args );

Der Teil von 'meta_query' funktioniert im Code nicht.

4
Sevi

Sie verwenden eine Meta-Abfrage, ohne einen Wert festzulegen. So wie Sie es tun, werden Posts abgefragt und nicht bestellt.

Verwenden von benannten Metaabfragen

Um Ihre Beiträge nach verschiedenen Metadaten zu ordnen, können Sie Ihren Meta-Abfragen einen Namen geben und damit die Reihenfolge festlegen. Hier ist ein einfaches Beispiel für Sie:

$args = array(
    'meta_query' => array(
        'relation' => 'AND',
        'query_one' => array(
            'key' => 'key_one',
            'value' => 'value_one', // Optional
        ),
        'query_two' => array(
            'key' => 'key_two',
            'compare' => 'EXISTS', // Optional
        ), 
    ),
    'orderby' => array( 
        'query_one' => 'ASC',
        'query_two' => 'DESC',
    ),
) );

Sie können den Abschnitt this der Codex-Seite auf WP_Query() überprüfen, um sich mit dem Sortieren der Beiträge vertraut zu machen.

7
Jack Johansson