Suporte » Desenvolvendo com WordPress » Exbir posts específicos na home.

  • Resolvido Bruno Pansarello

    (@bruno-pansarello)


    Olá sou novo no fórum espero que aqui seja o lugar de minha questão.
    Estou desenvolvendo um portal Editorial de Jogos e em suam Home gostaria de poder publicar alguns posts que merecem destaques, pesquisei alguns plugins mas sem sucesso.

    Questão :
    Criei algumas categorias dentre elas um delas será o onde postarei as metérias que iriam aparecer na home, só que o problema é que estas matérias tbm obrigatoriamente terão que ser postadas em outras categorias.

    Por padrão o WP exibe as categorias onde o post esta alocado.
    ou seja, se posto na categoria News e na categoria Xbox ao exibir o post ele vai exibir “News,Xbox”
    Dúvida/Problema
    O que eu gostaria é de poder postar nas duas categorias, mas somente exibir neste exemplo o “nome” da categoria “Xbox” excluindo a exibição do nome da categoria “News” é possível fazer isso? Existe algum modo mais fácil de fazer esse filtro.
    Outra coisa estou utilizando a query que exibe todos os posts na home do blog, e tbm estou utilizando isso dentro de script Tabbed para dividr o conteúdo .
    Para melhor Entendimento segue o site em questão Gamehelp

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Olá,

    Use tags para filtrar posts na query de seu arquivo index.php, assim os posts podem estar em qualquer categoria. No caso, você deve atribuir uma tag como matéria para os posts que devem aparecer na home.

    Isso se mostrar útil em caso onde nem todos os posts de uma categoria devem aparecer.

    Criador do tópico Bruno Pansarello

    (@bruno-pansarello)

    Olá Diana,
    Obrigado por responder.

    Você poderia por gentileza exemplificar para poder vizualizar e entender o funcionmento, nunca trabalhei com tags, iria me ajudar bastante.

    Muito grato pela sua ajuda.

    Criador do tópico Bruno Pansarello

    (@bruno-pansarello)

    Diana seria + ou menso isso ?

    <?php query_posts('tag=materia'); ?>
    <?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; ?>

    Tanks

    Criador do tópico Bruno Pansarello

    (@bruno-pansarello)

    Diana eu pesequisei um poco mais e consegui aplicar na prática porém gostaria de saber se estou fazendo isso do mnodo correto.

    Quando adicino a query <?php query_posts('tag=materia'); ?> na meira aba onde é listado os posts em destaques ele filtra normalmente.Porém a segunda aba onde é nao exite filtro algum é herdado esta queryr para resilver isso eu fiz outra query <?php query_posts(''); ?> desta forma resolveu . Minha pergunta é:isso é correto, vai deixar meu site lento como tempo?

    Abraços

    Segue código da index.php :
    http://pastebin.com/1s7myQvi

    Bruno:
    Se eu entendi bem o que vc quer, use esse código a seguir. Ele lista as categorias sem incluir algumas categorias que vc não quer. Só pra deixar bem claro, ele não mexe com as categorias dos posts, apenas deixa de listar algumas delas que vc usa apenas para “controle” interno, ou para saber onde mostrar os posts.

    function incomplete_cat_list($separator) {
    
      $first_time = 1;
    
      foreach((get_the_category()) as $category) {
    
        if ($category->cat_name != 'Capa' && $category->cat_name != 'Expandida') {
    
          if ($first_time == 1) {
    
            echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" >'  . $category->name.'</a>';
    
            $first_time = 0;
    
          } else {
    
            echo $separator . '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
    
          }
        }
      }
    }

    No seu tema, substitua a tag que lista as categorias por incomplete_cat_list(“,”);

    No código, modifique as categorias “Capa” e “Expandida” por aquelas que vc quer excluir da lista. Coloque esse código no seu functions.php.

    Quanto aos query_posts, é melhor não usar mais de um em cada página. Use o get_posts. Veja esse tópico explicando a diferença: http://br.forums.wordpress.org/topic/duvida-loops-na-index?replies=13

    Pode-se usar WP_QUERY também.

    Quanto a lentidão, depende de quantos posts vai obter em cada query em cada página, tem gente que exagera também…

    Bruno,

    o ideal é você utilizar WP_Query e depois de fazer o loop pela sua consulta, executar a função wp_reset_query para que o WordPress volte a query anterior que estava sendo executada.

    Ao seu comando.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Exbir posts específicos na home.’ está fechado para novas respostas.