Agora que vi q postei em local errado, desculpe, se puder mover para local certo agradeceria.
Atenciosamente
João
Motivo para ‘Sobre o funcionamento e resolução de problemas’.
Por favor explique o problema em português para que possamos te ajudar.
O problema é o seguinte:
Eu quero que na pagina Blog exiba o texto da pagina estática Blog(Modelo criado para ela blog.php) que criei no admin e também exiba uma lista de Post recentes e no sidebar exiba a lista de todas categorias.
Para isso eu criei uma condição no sidebar para só exibir as categorias se estiver na página blog.
Código na sidebar:
if(is_page('blog'))
{
wp_list_categories('orderby=name&exclude=1&title_li=');
}
O problema é que se eu uso query_posts(”) na pagina Blog a condição na sidebar é ignorada e não exibe a lista das categorias.
Se eu remover o query_posts(”) exibe as categorias normal e a condição na sidebar é aceita… mas dai sem o query_posts(”) não exibe a lista de post na página blog.
Código da página Blog:
<?php if (have_posts()): while (have_posts()) : the_post();?>
<h2><?php the_title();?></h2>
<?php the_content(); ?>
<?php endwhile; else:?><!--FECHA LOOP-->
<?php endif;?>
<?php query_posts('');?>
<?php if (have_posts()): while (have_posts()) : the_post();?>
<?php the_time('j M Y');?>
<?php the_title();?>
<?php the_advanced_excerpt('length=300');?>
<?php endwhile; else:?><!--FECHA LOOP-->
<?php endif;?>
<?php
$wp_query->is_page = true;
get_sidebar();
?>
Aguardo ajuda pois só falta isso para eu finalizar a página.
Atenciosamente
João Netto
Tenta colocar o código
<?php wp_reset_query(); ?>
antes do
if(is_page('blog'))
Se não funcionar, vc vai ter que substituir o loop existente, que usa query_posts, por outro loop usando get_posts. É bem tranquilo, mas acho que a solução acima deve funcionar.
http://codex.wordpress.org/Template_Tags/get_posts
Realmente funcionou.
Adicionei <?php wp_reset_query(); ?>
antes do if(is_page('blog'))
Poderia me explicar o porque, para que sirva de aprendizado não só de solução.
Muito obrigado por enquanto.
Atenciosamente
João Netto
É o seguinte: quando vc carrega uma página qualquer no WP, ele monta uma query automaticamente, para definir quais posts serão carregados. Quando vc usa o query_posts, vc “bagunça” essa definição padrão, então o wp não sabe mais se é página, post, se é arquivo de categorias, etc.
Com o reset_query vc manda ele zerar a query e voltar ao valor original.
entendi, obrigado, tópico fechado