Display exibe o termo de taxonomia da correspondência vinculado de wp_list_categoies?

4

Isso deve ser simples, mas me escapa.

Eu tenho um tipo de postagem personalizada e uma taxonomia personalizada. A taxonomia é denominada "asset_type" e o slug é "type"

Estou usando wp_list_categories para fornecer um menu da barra lateral no qual os usuários podem clicar para ver postagens na taxonomia clicada.

Por exemplo:

<div class="category-sidebar"><?php
            $args = array('post_type' => 'design_asset', 'show_count' => 1, 'taxonomy' => 'asset_type');
            wp_list_categories($args);
            ?>
</div>

Isso exibe corretamente meus termos fiscais, por exemplo, "element", com o link de http://site.dev/type/element/

Ele vai para a página, mas não consigo descobrir como modificar meu loop, de modo que ele só exiba postagens que correspondam ao termo atual, neste exemplo "element", nem exiba o título da página como "Element" .

Meu loop para exibir TODOS os posts é:

$args = array( 'post_type' => 'design_asset', 'posts_per_page' => 100, 'orderby' => 'title', 'order' => 'ASC'  );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    
por Steve 24.07.2014 / 22:17

3 respostas

2

Steve, você fez algumas perguntas que eu dei uma olhada, e cheguei à conclusão de que o seu loop está causando todas as suas dores de cabeça.

  

Meu loop para exibir TODOS os posts é:

$args = array( 'post_type' => 'design_asset', 'posts_per_page' => 100, 'orderby' => 'title', 'order' => 'ASC'  );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();

Loops personalizados em qualquer página de arquivo criam problemas. A consulta principal é bastante específica nessas páginas e essas consultas são difíceis de serem reproduzidas em uma consulta personalizada. Para ter uma idéia de como a consulta principal funciona e como a consulta principal decide o que mostrar, vá e confira minha resposta sobre essa questão

Aconselho-o a não utilizar qualquer consulta personalizada para o seu loop principal em qualquer página de arquivo ou mesmo na página inicial.

Meu conselho seria alterar todos os seus loops em todos os seus modelos de volta ao loop padrão

if ( have_posts() ) :
    while ( have_posts() ) : the_post();

       <----LOOP ELEMENTS---->

     endwhile;
 endif;

Depois de voltar para o loop padrão, você verá que tudo funcionará normalmente, exceto que o tipo de postagem personalizado não será incluído no loop principal.

Para corrigir isso, você usará pre_get_posts para adicionar seu tipo de postagem personalizado e outra modificação à consulta principal

function include_cpt( $query ) {
    if ( !is_admin() && $query->is_main_query() ) {
        $query->set( 'post_type', 'design_asset' );
        $query->set( 'posts_per_page', '100' );
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' ); 
    }
}
add_action( 'pre_get_posts', 'include_cpt' );

Isso deve ter tudo funcionando normalmente e como esperado

    
por Pieter Goosen 25.07.2014 / 06:40
2
  

Ele vai para a página, mas não consigo descobrir como modificar meu loop, de modo que ele só exiba postagens que correspondam ao termo atual, neste exemplo "element", nem exiba o título da página como "Element" .

Os seguintes argumentos para o seu loop devem ser:

$args = array(
    'post_type' => 'design_asset',
    'posts_per_page' => 100,
    'orderby' => 'title',
    'order' => 'ASC',
    'tax_query' => array(
        array(
            'taxonomy' => 'asset_type',
            'field' => 'slug',
            'terms' => end( ( explode( '/', rtrim( $_SERVER['REQUEST_URI'], '/' ) ) ) )
        )
    )
);

Referências:

por Johannes Pille 25.07.2014 / 06:53
0

Você foi mordido por um gremlin comum: wp_list_categories não usa post_type como argumento. wp_list_categories sempre gera links para categorias para o post_type padrão "post". Se você deseja usar categorias separadas por tipos de postagem personalizados, é necessário especificar o permalink relevante. Aqui está uma abordagem para adicionando uma estrutura de permalink para o tipo de postagem personalizada arquivo .

As respostas acima são úteis se você quiser que os arquivos de categoria incluam todos os tipos de postagens.

    
por BigToe 27.07.2014 / 20:26