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
-
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!!!!
$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 !
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.
<?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;?>
este é o exemplo que encontrei, que funciona, só não exibe todos post de uma subcategoria.
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’
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 !
Miriam é exatamente isto que eu quero,
Jvgm dessa forma funciona, só estou com um pouco de dificuldade com o loop, na hora de exibir, mais vlw o principal consegui resolver
- O tópico ‘página chamando mais de uma categoria’ está fechado para novas respostas.