Como consultar posts de formato padrão de publicação. Sério

2

Então, eu tenho procurado em todos os lugares. Eu tentei todo tipo de combinação. Até agora nada. Eu tenho que consultar duas postagens para mostrar na minha página inicial, do tipo post-post, não em uma categoria, mas, mais importante, do post-format padrão. Eu trabalho com o wp 3.9.1. Esta é a sintaxe que eu uso:

$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'
                )
        ) );

Isso simplesmente não funciona. Eu recebo dois resultados, mas os formatos de vídeo e galeria não são processados. Eu tentei também o uso de tax_query => array (.....) sem nenhum resultado.

No primeiro caso, o $query->have_posts retorna todas as postagens de todos os formatos. No segundo caso, não retorna conteúdo algum.

    
por Alevalentini 07.07.2014 / 14:02

2 respostas

6

Parece que sua sintaxe está um pouco fora da consulta fiscal. Tente isto:

$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'
           ) )
       );

(Além disso: Se você não estiver usando alguns desses formatos de postagem, não há problema em removê-los da matriz 'terms'. Mas se o objetivo é exibir apenas o formato 'normal', convém deixá-los tudo lá em caso de futuras alterações de conteúdo.)

    
por jack 07.07.2014 / 14:48
3

Desde o WordPress 4.1, o WP_Tax_Query suporta o operador NOT EXISTS para consultas de taxonomia. Como um post tem o formato "Padrão" se e somente se não tiver um formato especificado, este é agora o método preferido para consultar postagens com o formato de postagem Padrão . Ele também abrange o futuro / caso de personalização, onde os formatos de postagem podem ser adicionados, removidos e alterados. A consulta de taxonomia resultante é simplesmente:

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

Usando-o na consulta de exemplo, obtemos:

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