Tres personas ya han intentado resolver esto, y estamos llegando a cero. Quiero mostrar solo las publicaciones que tienen un valor en la meta_key 'Featured_image'.
Entonces ... si 'Featured_image' no está vacío, muestra la publicación. Aquí está el código:
<ul>
<?php
$args = array(
'showposts' => 5,
'meta_query' => array(
array(
'key' => 'featured_image',
'value' => '',
'compare' => '!='
)
)
);
$ft_pagination = new WP_Query( $args );
?>
<?php while ($ft_pagination->have_posts()) : $ft_pagination->the_post(); ?>
<?php $ftimage = get_post_meta(get_the_id(), 'featured_image', TRUE); ?>
<li>
<article>
<a href="">
<?php if ($ftimage): ?>
<img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo $ftimage; ?>&w=84&h=60" alt="" />
<?php else: ?>
<img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=/wp-content/themes/ssv/images/review-default.gif&w=84&h=60" alt="" />
<?php endif; ?>
</a>
</article>
</li>
<?php
endwhile;
wp_reset_query();
?>
</ul>
Intentamos literalmente todas las combinaciones que podemos imaginar, las opciones obsoletas meta_ *, query_posts, get_posts, en lugar de WP_Query ... Nada. Impreso el enunciado select, no se muestra ningún campo de metavalor. Existe: para las publicaciones (para cada publicación) y existe en la base de datos.
Hemos visto todas las publicaciones sobre el tema en este momento, incluidas estas:
query_posts y solo muestra resultados si un campo personalizado no está vacío
http://scribu.net/wordpress/advanced-metadata-queries.html
Zilch Por favor ayuda...
Respuestas:
Hola @Rob:
La razón por la que no puede descubrir cómo hacerlo es porque no es posible, al menos no sin recurrir a SQL. Intente agregar lo siguiente al
functions.php
archivo de su tema :Si tiene
'featured_image'
campos personalizados con valores vacíos, lo anterior los filtrará. Si su problema es otra cosa, tendremos que ver cómo se ven sus datos para resolverlo.Una cosa que me da curiosidad; ¿Cómo obtuviste valores vacíos
'featured_image'
? La interfaz de usuario de administrador en WordPress 3.1 hace todo lo posible para evitar que ingrese valores vacíos. Espero que esto ayude.fuente
featured_image
campo personalizado y su consulta funciona bien. Que estas encontrando ¿Existe la posibilidad de que su consulta esté cargando publicaciones que sí tienen unfeatured_image
campo personalizado pero donde el valor de ese campo está vacío?Esto parece funcionar para obtener el valor en la consulta, aunque no estoy seguro de si obtiene resultados válidos.
No tuve tiempo de crear campos para probar los resultados, pero he estado viendo consultas con las que he trabajado hoy y noté
NOT IN
que con gusto tomaré una matriz vacía.fuente
'compare' => 'NOT LIKE'
lugar de'NOT IN
''value' => '', 'compare' => '!='
'value' => array('', array(), serialize(array())), 'compare' => 'NOT IN'
Esta es una vieja pregunta, pero parece que Wordpress ha solucionado esta "característica faltante": ahora, de acuerdo con Wordpress Codex, es posible verificar la existencia (o no existencia) de la meta clave, como esta
Esto está disponible a partir de WP> = 3.5.
fuente
EXISTS
mostrará valores vacíos que no es lo que buscamos aquí. La mejor solución es'value' => '', 'compare' => '!='
en lo que respecta a mis pruebas.Esta es la consulta que funcionó para mí. Muy similar a la comparación en la respuesta de t31os de 2011, pero debido a que la meta clave / valor es solo una cadena de texto simple, no necesita ser una matriz meta_query.
Por alguna razón, el uso de 'meta_value' => '' y 'meta_compare' => '! =' O 'meta_compare' => 'NOT LIKE' todavía me atrajo todas las publicaciones, pero probablemente tenga algo que ver con el hecho de que Creé mi metavalor utilizando el complemento Advanced Custom Fields (ACF).
Lea más sobre los parámetros de campo personalizados en el códice .
fuente
Esto se soluciona en WP 3.2-alpha:
http://core.trac.wordpress.org/ticket/15292
fuente
¿Me estoy perdiendo de algo?
¿No lo hará eso?
fuente
$query = new WP_Query( 'meta_key=featured_image' );
mira aquí: codex.wordpress.org/Class_Reference/…un trazador de líneas por cierto.
fuente