J'essaie d'afficher le résultat pour un champ personnalisé qui n'est pas vide dans un type d'article personnalisé mais qui ne donne aucun résultat?
<?php
if (have_posts()) :
$args = array(
'post_type' => 'programmes',
'meta_query' => array(
'key' => 'linktovideocatchup',
'value' => '',
'compare' => 'NOT LIKE'),
//'caller_get_posts' => 1,
);
?>
<?php query_posts( $args ); ?>
<?php while (have_posts()) : the_post(); ?> `enter code here`
il manque un tableau dans l'élément meta_query:
$args = array(
'post_type' => 'programmes',
'meta_query' => array(
array(
'key' => 'linktovideocatchup',
'value' => '',
'compare' => 'NOT LIKE'
)
)
);
(Ceci est nécessaire pour permettre l'interrogation de plusieurs champs méta.)
vous avez également eu une virgule superflue après l'élément de tableau meta_query, ce qui peut poser problème.
je pense que vous devriez aussi pouvoir utiliser l'opérateur '<>' plutôt que 'NE PAS AIMER', je crois que c'est plus efficace.
il existe une bonne description de la fonctionnalité meta_query ici: http://scribu.net/wordpress/advanced-metadata-queries.html
Essayez ce code:
$args = array(
'post_type' => 'programmes',
'meta_query' => array(
array(
'key' => 'linktovideocatchup',
'value' => '',
'compare' => '!='
)
)
);
Il suffit de changer 'NOT LIKE' par '! ='. Cela a fonctionné pour moi;)
Il y a une meilleure réponse à . Comment puis-je afficher les publications uniquement si meta_value n'est pas vide - Impossible de demander une valeur nulle comme ceci.