Suporte » Ajustando o WordPress » Listar artigos com duas ou mais tags

  • Resolvido Roberto

    (@radbox)


    Olá.

    Gostaria de listar artigos que estão marcados com mais de uma tag. Por exemplo:

    tag: samsung
    tag: impressora-laser-colorida

    Eu só sei pegar o resultado individualmente, mas quero pegar o resultado de artigos que sejam marcados com “samsung” e também com “impressora-laser-colorida”.

    Como são inúmeras variáveis que preciso usar, optei por usar as categorias para assuntos principais e as tags para marcar a diversidade do conteúdo.

    Isto é possível?

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Criador do tópico Roberto

    (@radbox)

    O mais perto que consegui chegar foi usando este código:

    <?php query_posts(‘tag=samsung+impressora-laser-colorida’); ?>

    O primeiro problema é que ele retorna os posts inteiros e eu só preciso que retorne o título. O segundo problema é que não sei como usar este código como um link.

    E a partir daqui, alguém saberia me ajudar?

    Seguinte, pra tirar o conteúdo desse retorno do query_posts() é só você apagar a linha que chama a função the_content() e, no título do seu post, atribuir ao href a função the_permalink(). Olha o exemplo:

    <?php query_posts('tag=samsung+impressora-laser-colorida'); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>
    Criador do tópico Roberto

    (@radbox)

    Opa Eduardo. Eu ainda não implementei com sucesso sua dica, mas voltei para informar que funciona. Realmente lista somente o título das tags filtradas pela query.

    Eu ainda estou com dificuldade para fazer com que o conteúdo da página apareça também. Por hora ou só aparece o conteúdo que coloco na página, digo, no editor do WordPress, ou então aparece o conteúdo retornado pelo código que você me sugeriu.

    Pra falar a verdade, eu ainda estou fazendo um monte de testes na base da tentativa e erro, e por enquanto sequer tenho uma pergunta bem fundamentada para fazer aqui no fórum, mas vou realimentar o tópico assim que conseguir fazer o que eu quero, ou então ter uma dúvida clara para postar.

    Por hora, agradeço bastante Eduardo. Eu não estava conseguindo sair do lugar e agora já tenho bastante material pra poder trabalhar.

    Legal!
    Quando tiver mais algo, dá um grito ae.

    Use o seguinte para mostrar apenas os posts que contêm as duas tags simultaneamente:

    <?php query_posts(array('tag__and' => array('samsung','impressora-laser-colorida')); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>

    Se quiser que apareça o conteúdo da página embaixo, até onde vai a tag <!–more–> faça assim:

    <?php query_posts(array('tag__and' => array('samsung','impressora-laser-colorida')); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    <?php the_content ()?>
    <?php endwhile; endif; ?>

    Se quiser que apareça apenas o resumo da página embaixo faça assim:

    <?php query_posts(array('tag__and' => array('samsung','impressora-laser-colorida')); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
    <?php the_excerpt()?>
    <?php endwhile; endif; ?>

    Criador do tópico Roberto

    (@radbox)

    @eduardozulian e @renato_s, as soluções funcionam perfeitamente. Eu as testei com sucesso. Por uma questão de praticidade, consegui o que eu queria simplesmente fazendo um link assim: http://radbox.info/tag/samsung+multifuncional+laser+monocromatica

    Eu não sabia que o WordPress trabalhava com operadores booleanos e esta solução simples acabou me atendendo. Só não sei se um dia eu precisar excluir uma categoria, mas por enquanto isto não aconteceu.

    Obrigado pelas dicas. Estou abrindo outro tópico com uma dúvida diferente.

    coimbra

    (@coimbra)

    Pessoal, creio que este será o lugar certo para meu questionamento, até porque minha dúvida é parecida.

    Estou testando as tags como modo de filtrar as postagens (afinal esta é a finalidade delas) agora meu questionamento é o seguinte, se eu estiver usando as tags como se fosse selecionar as caracteristicas de um computador por exemplo e existam entre as diversas tags a sequencia em que ele clique na tag e a anterior continue clicada ex:

    (tag1) (tag2) (tag3)
    Gabinete branco / 04 baias / USB Frontal

    O que quero é saber se tem algum widget ou função que quando a primeira tag for selecionada e a segunda for selecionada a primeira mantenha-se “pressionada” assim por diante se o usuário selecionar “clicar”em 4 ou 8 tags as anteriores se mantenham para filtrar ainda mais o resultado.

    Consegui explicar direito?

    Obrigado

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Listar artigos com duas ou mais tags’ está fechado para novas respostas.