Você pode usar a classe WP_Query. Dê uma olhada na documentação: https://codex.wordpress.org/Class_Reference/WP_Query
Para excluir o item corrente, use o argumento post__not_in
e informe o ID do post.
Dentro do loop o atributo que irá ignorar o post que está sendo exibido é o post__not_in aqui a referência no codex para ampliar o entendimento.
https://codex.wordpress.org/Class_Reference/WP_Query
Exemplo de aplicação no loop:
<?php
$args = new WP_Query(
array(
'post__not_in' => array( $post->ID ),
'posts_per_page' => 5
)
);
?>
Obs: O $post->ID é responsável por capturar o id do post atual. E o loop retornará todos os posts que forem especificados no loop, ou seja da categoria e etc…
Para fazer o retorno de posts relacionados, tem como fazer por tags. O atributo que vai fazer a mágica acontecer é o get_the_tag_list(). Referência no codex https://codex.wordpress.org/Function_Reference/get_the_tag_list
Exemplo de aplicação:
$args = new WP_Query(
array(
'post_in' => get_the_tag_list(),
'posts_per_page' => 4
)
)
-
Esta resposta foi modificada 7 anos, 7 meses atrás por theandersonn.
-
Esta resposta foi modificada 7 anos, 7 meses atrás por theandersonn.
Olá, @rtcadmin.
Se você precisa fazer outro loop além do principal, você pode utilizar a função WP_Query(). No exemplo abaixo, é recuperado todos os posts que estão na categoria de id igual a 4.
$query = new WP_Query( array( 'cat' => 4 ) );
Não sei se entendi bem a sua ideia, mas acredito que você queira exibir os posts similares ao que já está sendo exibido, certo? Se for isso, existem alguns plugins que podem te ajudar também:
Referências:
WP_Query()
obrigado @marcelo2605 pela ajuda!
obrigado @theandersonn pela excelente explicação !