Oi @tiagojsf,
Vai depender um pouco de como a sua página inicial está montada. Ela é uma página ou é só a lista dos posts recentes? Se for a lista dos posts você precisará pensar em como ficará a paginação (como fica a segunda página se você não sabe quais posts foram exibidos na primeira?). Se for a página inicial, você terá que ter cuidado para não afetar outros elementos exibidos.
Se a sua página inicial for de fato uma página (selecionada lá no Painel em Configurações -> Leitura), coloque o seguinte código no seu functions.php
, que deve funcionar:
function altera_ordem_pagina_inicial( $query ) {
if ( ! is_admin() AND $query->is_front_page() ) {
$query->set( 'orderby', 'rand' );
}
}
add_action( 'pre_get_posts', 'altera_ordem_pagina_inicial' );
Não esqueça de voltar para dizer se funcionou e, se for o caso, de marcar seu tópico como resolvido. Se não funcionar você precisará disponibilizar o arquivo front-page.php
e home.php
do seu tema, se eles existirem. Senão, disponibilize o index.php
. Para isso suba os arquivos no pastebin.com e coloque aqui só o link, beleza?
Olá Felipe!
Obrigado pela resposta.
Realmente, a minha página inicial são os posts recentes. O código não funcionou.
Acabei desistindo da ideia, vou deixar como esta.
Obrigado pelo retorno!
Abraço
Beleza @tiagojsf, obrigado pelo retorno.
Deixando aqui para quem estiver na mesma situação que a sua e não quiser exibir uma segunda página de posts, basta trocar no código o
$query->is_front_page()
por
$query->is_main_query() AND $query->is_home()