Suporte » Desenvolvendo com WordPress » página chamando mais de uma categoria

  • Pessoal estou querendo criar uma página que chame ao menos três categorias diferentes e exiba os posts que esteja usando estas categorias. gostaria de saber se isto é possível nesta versão do wordpress. 3.8.1

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • Moderador Míriam de Paula

    (@miriamdepaula)

    Possível é. Você vai precisar ter conhecimento de programação para fazer isso.

    Por que não atualizou seu WordPress para 4.0.1? Evite usar versões antigas!!!!

    Criador do tópico frannsia

    (@frannsia)

    $args = array (
    ‘posts_per_page’ => 20,
    ‘post_type’ => ‘post’,
    ‘category_name’ => ‘termos’
    );

    $termos = new WP_Query ( $args );
    while ( $termos->have_posts () ) :
    $termos->the_post ();
    $termosid = get_the_ID ();

    $subcategoria = get_the_category();
    $nomesubCategoria = $categoria[1]->cat_name;
    the_category( $separator, $parents, $post_id );

    Este é o meu código não consigo enxerga onde estou errando.

    E possível sim, problema e que você não sito dentro da array as três categorias que você deseja, veja o exemplo a baixo e explicarei um pouco mais.

    <?php
    
    $args = array (
    'posts_per_page' => 20,
    'post_type' => 'post',
    'category_name' => 'termos,termos2,termos3'
    );
    
    $termos = new WP_Query ( $args );
    while ( $termos->have_posts () ) :
    $termos->the_post ();
    $termosid = get_the_ID ();
    
    $subcategoria = get_the_category();
    $nomesubCategoria = $categoria[1]->cat_name;
    
    ?>
    <?php the_title();?>
    <?php endwhile; ?>

    No caso onde utilizo:

    'category_name' => 'termos,termos2,termos3'

    Aqui você pode alterar para categoria que você escolheu

    Removi em seu código esta etapa:

    the_category( $separator, $parents, $post_id );

    Onde estava imprimindo o nome da categoria assim linkando onde iria imprimir todos elementos daquela categoria caso deseje e só acrescentar novamente

    E para finalizar o teste coloquei

    <?php the_title(); ?>

    Para imprimir o titulo, partir dai você atualiza e edita de acordo com a estrutura da sua página!

    Espero ter ajudado, e de um feedback pra podermos acompanhar !

    Criador do tópico frannsia

    (@frannsia)

    JVGM, funcionou desta forma, porém neste caso cada vez que for criada uma nova categoria eu tenho que ir no código e inserir a nova categoria.

    Então eu criei uma função para pega somente as subcategorias, encontrei um exemplo aqui no forum de como fazer isto.

    O problema agora é que ele só pega um post de cada categoria.

    Criador do tópico frannsia

    (@frannsia)

    <?php query_posts('category_name=termos&posts_per_page=3' . '&paged=' . $paged);
    				 if (have_posts()): while (have_posts()): the_post();
    
    						foreach ( (get_the_category ()) as $childcat ) {
    							if (cat_is_ancestor_of ( 10, $childcat )) {
    								echo ', <a>cat_ID ) . '">';
    								echo $childcat->cat_name . '</a>';
    							}
    						}
    						?>
    					<h3>
    						<a href="#"><?php the_category();?> </a>
    					</h3>
    					<div class="content">
    						<p><?php the_title(); ?>
    						<?php the_content(); ?></p>
    					</div>
    			<?php endwhile;
    		endif;?>
    Criador do tópico frannsia

    (@frannsia)

    este é o exemplo que encontrei, que funciona, só não exibe todos post de uma subcategoria.

    Moderador Míriam de Paula

    (@miriamdepaula)

    frannsia, NUNCA use query_posts() para loops secundários! Use sempre WP_Query() ou get_posts().

    E se for necessário alterar o loop principal, utilize o hook ‘pre_get_posts’

    Moderador Míriam de Paula

    (@miriamdepaula)

    Tem como vc colocar uma esquematização de como essa página deve ser?
    Eu to aqui imaginando como você quer a página, mas existem N possibilidades… Suponho que seria assim:

    CATEGORIA A
    - post
    - post
    - post
    .
    .
    .
    - post
    
    CATEGORIA B
    - post
    - post
    - post
    .
    .
    .
    - post

    Ou não? Explique melhor como seria essa página por gentileza.

    Obrigado pelo feedback, espero que agora funcione como você gostaria!

    A baixo o código:

    <?php
    
    $args = array (
    'posts_per_page' => 20,
    'post_type' => 'post',
    'category_name' => $cat
    );
    
    $termos = new WP_Query ( $args );
    while ( $termos->have_posts () ) :
    $termos->the_post ();
    $termosid = get_the_ID ();
    
    $subcategoria = get_the_category();
    $nomesubCategoria = $categoria[1]->cat_name;
    the_category( $separator, $parents, $post_id );?>
    
    <?php the_title();?>
    
    <br>
    <?php endwhile; ?>

    Lembrando que voltei adicionar o titulo de cada categoria:
    the_category( $separator, $parents, $post_id );

    Esta função vai pegar todas as categorias adicionadas e já existentes dentro de “posts”:

    'category_name' => $cat

    Espero ter ajudado, agora basta você modificar a gosto! 🙂

    Lembrando volte da Feedback pra gente !

    Criador do tópico frannsia

    (@frannsia)

    Miriam é exatamente isto que eu quero,

    Criador do tópico frannsia

    (@frannsia)

    Jvgm dessa forma funciona, só estou com um pouco de dificuldade com o loop, na hora de exibir, mais vlw o principal consegui resolver

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘página chamando mais de uma categoria’ está fechado para novas respostas.