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.
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.
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
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.