Suporte » Desenvolvendo com WordPress » Listar posts mas não mostrar o post atual

  • Resolvido FireBall

    (@conexweb)


    Dentro de post, coloquei um lista de últimos post, para uma navegação mais rápida, porem gostaria de retirar dessa lista o post que está sendo lido, alguém já tem esse problema

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Depende mesmo é do código que vc está usando para listar os últimos posts.

    Sem ele fica difícil saber se é possível e como pode ser removido o post em questão.

    Criador do tópico FireBall

    (@conexweb)

    Então estou usando o padrão

    <?php query_posts('showposts=4&category_name=Dicas, -335');?>
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    <a>">
    <?php the_title();?>
    </a>
    
    <?php endwhile; else:?>
    <?php endif;?>

    ConexWeb desculpa pela demora em responder, mas fiz alguns testes aqui e não obtive muito sucesso e foi por isso que não postei antes.

    Uma forma que imaginei disso funcionar foi obter a categoria do post atual e fazer um exclude neste loop com a categoria dele.

    Outra forma é fazer como eu explico aqui.
    http://br.forums.wordpress.org/topic/organizar-categorias-1?replies=17#post-17350

    Mas só use essa dica do link se este loop está sendo gerado na single para vc não ter mais dores de cabeça, na single pode usar que não tem problema não.

    Criador do tópico FireBall

    (@conexweb)

    Myst1010 valeu é quase isso rs…

    é o seguinte, na pagina eu trago o post assim

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <div id="post-<?php the_ID(); ?>">
    <h1><a>" rel="bookmark"><?php the_title(); ?></a></h1>
    <?php the_content('<p>Read the rest of this entry »</p>'); ?>
    <?php endwhile; else: ?>
    <?php endif; ?>

    Eu tenho um div ao lado, que eu traz os ultimos 4 post da categoria “Artigos”, o post acima já faz parte dessa categoria

    <?php query_posts('showposts=4&category_name=Artigos, -335');?>
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    <a>">
    <?php the_title();?>
    </span>
    </a>
    
    <?php endwhile; else:?>
    <?php endif;?>

    O que eu preciso é que nessa div ao lado me traga tipo 3 post ou mais, menos o que já está sendo lido lá no inicio do codigo..

    Será que consegui explicar agora

    O seguinte código mostra os posts menos o primeiro. Ou seja, ele pega os últimos 5 posts só que descarta o primeiro que apareceu.

    <?php query_posts('showposts=5&category_name=Artigos, -335');?>
    <?php $cont = 0;?>
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    
    if($cont != 0)
    {
    <a>">
    <?php the_title();?>
    </span>
    </a>
    }
    <?php $cont++;?>
    <?php endwhile; else:?>
    <?php endif;?>

    Ai vc coloca isso na div que vc quer que nao apareca o primeiro post

    Espero que seja isso

    Criador do tópico FireBall

    (@conexweb)

    Olá Darkphv,blz porem nem sempre é o primeiro, na verdade eu preciso eliminar o post que está sendo lindo na lista ao lado, tipo assim

    Você está lendo o post do “uno”

    Veja Mais
    Gol
    Parati
    Santana

    Quando vc estiver lendo o “Santana”

    Veja Mais
    Parati
    Gol
    Uno

    <?php $idAtual=null;?> //variavel Global que pega o id atual
    
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <div id="post-<?php the_ID(); ?>">
    <?php global $post; ?> // variavel do wordpress que carrega os posts
    <h1><a>" rel="bookmark"><?php the_title(); ?></a></h1>
    <?php the_content('<p>Read the rest of this entry »</p>'); ?>
    <?php $idAtual = $post->ID;?> //recebe a id do post que foi mostrado
    <?php endwhile; else: ?>
    <?php endif; ?>
    <?php query_posts('showposts=5&category_name=Artigos, -335');?>
    <?php if (have_posts()): while (have_posts()) : the_post();?>
    <?php global $post; ?> // variavel global do wordpress
    if($idAtual != $post->ID) // compara se o id atual e o mesmo que foi mostrado
    {
    <a>">
    <?php the_title();?>
    </span>
    </a>
    }
    <?php endwhile; else:?>
    <?php endif;?>

    Creio que Com isso resolva seu problema.

    Se resolveu de outra maneira posta ae que pode ajudar outras pessoas. com o mesmo problema!!!

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Listar posts mas não mostrar o post atual’ está fechado para novas respostas.