Suporte » Desenvolvendo com WordPress » Filtrar postagem na index

  • Estou a criar um portal de noticias e eventos. Na index irei ter um campo de destaque, igual ao terra.com.br. O problema é que nem todos os posts irão aparecer nesse campo.

    Para isso eu pensei em filtrar usando sub-categorias, mas vai ficar estranho quando listo as categorias, poque aparecem as “pais” e as “filhas”.

    Imaginei então um checkbox na página de inserir post, que quando ativado significaria que ele tem permissão em aparecer no campo de destaque. Só não tenho a menor ideia de como implementar isso no wordpress.

    Alguém conhece uma maneira de fazer isso ou qualquer outra solução para o meu problema?

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Se entendi bem vc quer fazer um grupo de posts de destaque, então neste caso eu recomendo uma das duas formas.

    1) Usar custom field(Campos personalizados) para marcar os posts que deseja que apareça nesta área.

    2) Criar um post personalizado(post-type) especial que servirá somente para que apareça neste grupo de post.

    Em ambos os casos é só vc fazer um loop personalizado puxando somente estes posts.

    ==================================================
    Para a primeira opção que lhe dei suponhamos que vc tenha marcado os posts com o seguinte campo personalizado
    Nome: post_destaque
    Valor: sim

    Então vc pode fazer um loop desta forma para chamar estes posts.

    <?php
    $paged = (get_query_var('paged'));
    query_posts( array( 'meta_key' => 'post_destaque', 'meta_value' => 'sim' , 'paged' => $paged , 'posts_per_page' => 5) );
    
    if (have_posts()): while (have_posts()) : the_post(); ?>
    
    Aqui entra o html dos posts.
    
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>

    Para a segunda opção com os post_type você pode fazer assim

    <?php
    $paged = (get_query_var('paged'));
    query_posts( array( 'post_type' => 'nome-do-seu-post-type', 'paged' => $paged, 'posts_per_page' => 5 ) );
    
    if (have_posts()): while (have_posts()) : the_post(); ?>
    
    Aqui entra o html dos posts.
    
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>

    Posso ter errado em alguma coisa, pois não testei nada aqui e foi meio que de cabeça, mas espero que a idéia pelo menos tenha fica clara de como vc pode conseguir o que vc está querendo.

    Criador do tópico brunofilipevf

    (@brunofilipevf)

    Irei tentar desta maneira e voltarei aqui 🙂

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Filtrar postagem na index’ está fechado para novas respostas.