Tutoriais confiáveis de WordPress, quando você mais precisa.
Guia para Iniciantes em WordPress
Copa WPB
Mais de 25 Milhões
Sites usando nossos plugins
16+
Anos de experiência com WordPress
3000+
Tutoriais de WordPress por especialistas

Como Exibir os Posts Fixos Mais Recentes no WordPress

O WordPress tem um recurso muito legal chamado posts fixos. Pense em posts fixos como posts em destaque para o seu blog. Quando você marca um post como fixo, ele aparece acima dos seus novos posts, mas apenas se o seu tema permitir. Neste tutorial, mostraremos como exibir os posts fixos mais recentes no WordPress.

Demonstração dos Últimos Posts Fixos

Observação: Este é um tutorial de nível intermediário e requer conhecimento básico de HTML/CSS + conhecimento de temas WordPress.

Tutorial em Vídeo

Inscreva-se no WPBeginner

Se você não gostar do vídeo ou precisar de mais instruções, continue lendo.

A primeira coisa que você precisa fazer é copiar e colar este trecho de código no arquivo functions.php do seu tema ou em um plugin específico do site.

function wpb_latest_sticky() { 

/* Get all sticky posts */
$sticky = get_option( 'sticky_posts' );

/* Sort the stickies with the newest ones at the top */
rsort( $sticky );

/* Get the 5 newest stickies (change 5 for a different number) */
$sticky = array_slice( $sticky, 0, 5 );

/* Query sticky posts */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
	$return .= '<ul>';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
		$return .= '<li><a href="' .get_permalink(). '" title="'  . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
		
	}
	$return .= '</ul>';
	
} else {
	// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

return $return; 

} 
add_shortcode('latest_stickies', 'wpb_latest_sticky');

O código acima consulta o banco de dados do WordPress para recuperar os 5 posts fixos mais recentes. Em seguida, ele exibe o título de cada post fixo com um link em formato de lista. Envolvemos tudo isso em uma função e criamos um shortcode.

Agora, para exibir seus posts fixados mais recentes, você pode usar o shortcode [latest_stickies] em qualquer post, página ou até mesmo em um widget de texto do WordPress.

Se você quiser usar shortcodes dentro de um widget de texto, precisará adicionar esta linha extra de código ao functions.php do seu tema ou a um plugin específico do site.

add_filter('widget_text', 'do_shortcode');

Este trecho e função podem muito bem ser usados em um slider de destaque, ou qualquer outro recurso avançado que você queira exibir em seu site. Este trecho é voltado principalmente para um site WordPress que tem uma página inicial personalizada ou um visual estilo revista.

É tudo, esperamos que este artigo tenha ajudado você a exibir os posts fixados mais recentes em seu blog WordPress. Você também pode conferir nosso tutorial sobre como adicionar uma data de expiração a posts fixados no WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e Google+.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

OBTENHA ACESSO GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

8 CommentsLeave a Reply

  1. esforços muito informativos feitos por você, este código funciona perfeitamente,
    tenho uma pergunta: tenho várias categorias e subcategorias, então quero apenas fazer um post fixado para cada categoria separadamente, e exibido na página de lista de categorias onde todas as postagens dessa categoria específica são listadas, como (Categoria Esportes -> um post fixado - Categoria receitas de culinária -> um post fixado) etc.

  2. Obrigado por me colocar no caminho certo!!
    O código funciona muito bem para exibir o Título onde o shortcode é colado.

    No entanto, eu estava tentando encontrar um método para exibir o post inteiro (todo o conteúdo, em vez de apenas um título ou até mesmo um trecho) em uma página específica.

    Decidi brincar com seu código acima para tentar alcançar isso e finalmente consegui…
    Embora o título seja exibido no mesmo tamanho do texto do parágrafo, tenho certeza de que posso consertar isso.

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    Eu simplesmente alterei seu texto get_the_excerpt() para get_the_content() e isso puxou com sucesso o post inteiro para essa página.
    Para remover a indentação com marcadores, removi as tags ” ” ”, mas tive que deixar os apóstrofos no lugar, caso contrário a página não carregaria.
    Então, em essência, onde antes havia ” ou ”, agora há apenas ” e assim por diante.

    Foi tudo o que mudei e funciona muito bem para mim…
    Existem 2 problemas que notei:
    1: Às vezes, carrega a maior parte do post, mas não sempre até o final, especialmente se o post for editado depois… alguém tem sugestões para garantir que isso não aconteça?
    2: Eu adoraria que a imagem em destaque também aparecesse, isso a tornaria a solução flexível definitiva! Alguma ideia sobre isso?

    Obrigado novamente pelo conselho!

    Espero que o que expliquei faça sentido para quem quiser alcançar o mesmo que eu buscava.

  3. Olá

    Obrigado pelo seu código. No entanto, estou tentando alcançar algo e tenho 2 problemas.

    Quero exibir apenas um post fixado na minha página inicial e apenas o vídeo do YouTube presente no conteúdo.

    Na verdade, exibo o título e todo o conteúdo de um post (incluindo textos, imagens e vídeos).
    O segundo problema é que ele exibe o YouTube como um link e não incorpora diretamente o vídeo em minha página inicial.

    Obrigado pela sua ajuda

  4. Oi,

    Eu testei o código, ele funciona bem quando pelo menos 1 post foi atribuído como post fixado, caso contrário, quando nenhum post é atribuído como fixado, ele exibirá todos os 5 posts mais recentes.

    Então, qual seria a condição para exibir apenas posts fixados, se nenhum post fixado for atribuído, então não deve exibir nada.

    Obrigado antecipadamente

  5. ‘caller_get_posts’ foi substituído por ‘ignore_sticky_posts’ desde a v3.1, então acho importante alterar seu código para refletir isso.
    Além disso, a) $post->ID não é necessário nesta instância de get_permalink() pois você configurou os dados do post chamando $the_query->the_post(), e se por algum motivo você ainda quiser incluir $post->ID, você deve torná-lo global, ou seja, global $post;

Deixe uma resposta

Obrigado por escolher deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.