Ausschließen leerer meta_key-Werte in WP_Query-Ergebnissen

Lesezeit: 1 Minute

Ich verwende WP_Query, um einige benutzerdefinierte Posts wie diese herauszuziehen:

$params = array(            
        'post_type' => 'portfolio',
        'post_status' => 'publish',
        'posts_per_page' => 10,
        'meta_key' => 'slideorder',
        'orderby' => 'meta_value',
        'order' => 'ASC'
        'ignore_sticky_posts' => 1,
    );
$slport_query = new WP_Query($params);

Das Problem, mit dem ich konfrontiert bin, ist, dass selbst wenn die ‘slideorder’ (Zeichenfolge) leer ist, sie im Ergebnis enthalten ist. Wie würde ich nur Beiträge abrufen, in denen „meta_value“ mindestens ein Zeichen enthält?

Ich habe versucht hinzuzufügen:

'meta_value' => '',
'meta_compare' => '!=',

aber das ist nicht geholfen. Irgendwelche Ideen?

Danke Ben

Ok… Hier ist die Lösung. Es scheint, dass sogar scheinbar leere meta_values ​​ein einzelnes Leerzeichen haben oder zurückgeben. Das funktioniert also:

$params = array(
    'post_type' => 'portfolio',
    'post_status' => 'publish',
    'posts_per_page' => 10,
    'meta_key' => 'slideorder',
    'meta_value' => ' ',
    'meta_compare' => '!=',
    'ignore_sticky_posts' => 1,
    'orderby' => 'meta_value',
    'order' => 'ASC'
);
$slport_query = new WP_Query($params);

  • Ich habe gerade 6 Jahre später nach der Antwort auf dieses Problem gesucht und die Antwort hier gefunden … 😂🔫

    – Bloße Entwicklung

    12. Juni 2018 um 16:31 Uhr

1365110cookie-checkAusschließen leerer meta_key-Werte in WP_Query-Ergebnissen

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

Privacy policy