wake-up-neo.com

Filtern a WP Abfrageergebnis

Ich habe mehrere benutzerdefinierte Posts, die ich bereits mit WP Query gefiltert habe.

In dieser Liste versuche ich, die Beiträge mit einem bestimmten benutzerdefinierten Feldwert zu filtern.

Ich habe versucht, eine meta_query zu verwenden, aber das Problem ist, dass der ausgewählte Wert noch nicht existiert. Es existiert erst, wenn die Abfrage beendet ist. Ich habe den ausgewählten Wert bereits in einer Variablen gespeichert.

<?php
$args = array(
    'post_type' => array(
        'one',
        'two',
        'three'
    ),
    'meta_query' => array(
        array(
            'key' => 'owner',
            //'value' => $currentSignedUser,
            //'value' => 'Owner'
        ),
    ),
);

$query = new WP_Query( $args );

echo '<h5>List of owned stuff: </h5><br />';

while($query->have_posts()) :
    $query->the_post();
    ?>
    <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <br />
    <?php
    $owner_select = get_field('owner');

    if ($owner_select) {
        echo 'Owner: ' . $owner_select[display_name];
    } else{
        echo '<p style="color:darkred"><strong>No associated owner for this item.</strong></p>' ;
    }
    ?> </p>
    <?php
endwhile;
wp_reset_query();

Wie kann ich die ersten Abfrageergebnisse mit einer anderen Abfrage filtern? Wäre das der richtige Weg oder eine andere Methode?

Vielen Dank!

3
MauF

Ich habe mein Problem beim erneuten Lesen von ACFs Dokumentation zu benutzerdefinierten Feldern gelöst.

Anstelle von meta_query hätte ich meta_key verwenden sollen.

Das richtige Argument für ein benutzerdefiniertes Feld lautet:

// args
$args = array(
    'numberposts'   => -1,
    'post_type'     => 'event',
    'meta_key'      => 'location',
    'meta_value'    => 'Melbourne'
);
2
MauF