Cómo consultar publicaciones de formato de publicación estándar. De verdad

2

Por lo tanto, he estado buscando EN TODAS PARTES. Probé todo tipo de combinación. Hasta ahora nada. Tengo que consultar dos publicaciones para mostrar en mi página principal, de post-post-tipo, no en una categoría sino, lo más importante, del post-formato estándar. Yo trabajo con wp 3.9.1. Esta es la sintaxis que utilizo:

$query = new WP_Query( array(
            'post_type' => 'post',
            'cat' => '-1',
            'posts_per_page' => 2,
            array(
                'taxonomy' => 'post_format',
                'field' => 'slug',
                'terms' => array( 'post-format-gallery', 'post-format-video' ),
                'operator' => 'NOT IN'
                )
        ) );

Simplemente no funciona. Obtengo dos resultados, pero los formatos de video y galería no se procesan. También probé el uso de tax_query => array (.....) sin ningún resultado.

En el primer caso, $query->have_posts devuelve todas las publicaciones de todos los formatos. En el segundo caso, no devuelve ningún contenido.

    
pregunta Alevalentini 07.07.2014 - 14:02

2 respuestas

6

Parece que tu sintaxis está un poco apagada para la consulta de impuestos. Prueba esto:

$query = new WP_Query( array(
        'post_type' => 'post',
        'cat' => '-1',
        'posts_per_page' => 2,
        'tax_query' => array( array(
            'taxonomy' => 'post_format',
            'field' => 'slug',
            'terms' => array('post-format-aside', 'post-format-gallery', 'post-format-link', 'post-format-image', 'post-format-quote', 'post-format-status', 'post-format-audio', 'post-format-chat', 'post-format-video'),
            'operator' => 'NOT IN'
           ) )
       );

(Aparte: si no está utilizando algunos de esos formatos de publicación, está bien eliminarlos de la matriz de 'términos'. Pero si el objetivo es mostrar solo el formato 'normal', es posible que desee dejarlos todo allí en caso de futuros cambios de contenido.)

    
respondido por el jack 07.07.2014 - 14:48
3

Desde WordPress 4.1, WP_Tax_Query admite el operador NOT EXISTS para las consultas de taxonomía. Como una publicación tiene el formato "Estándar" si y solo si no tiene un formato específico, ahora es el método preferido para consultar publicaciones con el Estándar formato de publicación . También cubre el futuro / caso de personalización donde se pueden agregar, eliminar y cambiar los formatos de publicación. La consulta de taxonomía resultante es simplemente:

array(
    'taxonomy' => 'post_format',
    'operator' => 'NOT EXISTS',
)

Usándolo en la consulta de ejemplo, obtenemos:

$query = new WP_Query( array(
    'post_type' => 'post',
    'cat' => '-1',
    'posts_per_page' => 2,
    'tax_query' => array(
        array(
            'taxonomy' => 'post_format',
            'operator' => 'NOT EXISTS',
        ),
    ),
);
    
respondido por el engelen 15.06.2017 - 13:48

Lea otras preguntas en las etiquetas