web-dev-qa-db-fra.com

Interroger toutes les publications où la méta valeur est vide

Je souhaite interroger les publications pour lesquelles la méta valeur est vide. par exemple, je veux obtenir ces trois articles, sans méta-valeurs:  enter image description here 

Déjà essayé:

$args = array(
    'post_type'   => 'attachment',
    'posts_per_page' => 10,
    'paged'          => $paged,
    'meta_query'  => array(
        array(
            'key' => '_wp_attachment_image_alt',
            'value' => '',
            'compare' => 'LIKE'
        )
    )
);
$attachments = new WP_Query($args);

et:

$args = array(
    'post_type'   => 'attachment',
    'posts_per_page' => 10,
    'paged'          => $paged,
    'meta_query'  => array(
        array(
            'key' => '_wp_attachment_image_alt',
            'value' => null,
            'compare' => 'LIKE'
        )
    )
);

Mais ça ne marche pas ..

Aucune idée sur la façon de résoudre ça?

Je vous remercie

3
Avishay

Je pense que vous avez oublié le statut inherit post. Le nom par défaut dans WP_Query est publish .

Vous devez également utiliser = au lieu de LIKE pour éviter d'utiliser LIKE '%%' dans la requête SQL.

Alors essayez d'ajouter ceci:

'post_status' => 'inherit'

et

'compare' => '='

dans vos arguments de requête, pour correspondre aux valeurs de chaîne _wp_attachment_image_alt vides.

3
birgire