Ninguém pode me ajudar a montar um loop dos últimos 3 posts acessados pelo visitante?
Na hora que você entrar na single você pode tentar algo assim.. fiz aki de forma rápida.
$last_posts = array();
if (isset($_COOKIE['last_posts'])) {
$last_posts = unserialize($_COOKIE['last_posts']);
$last_posts[3] = $last_posts[2];
$last_posts[2] = $last_posts[1];
$last_posts[1] = {ID DO POST ATUAL};
}
setcookie('last_posts', serialize($last_posts), time()+3600);
É um começo pra sua lógica. Vê se te ajuda? Se é mas ou menos isso que você precisa.
Sim, o porém é que não sei onde aplicar isso no Loop.. Poxa o primeiro que me da uma luz inicial, obrigado! O que mais poderia ser feito?
Pra nao te complicar muito vc pode colocar dentro do single.php.
Mais fui ver o codigo q escrevi aki de novo e vai acabar dando erro pq o if vai dar sempre true.
Tem que dar uma arrumada nele seguindo a logica q vc ker.
@andersonnarciso, depois que você guardar os posts recentes num array, você pode passá-los no parâmetro posts__in
da query para pegar somente esses posts.
Ficaria mais ou menos assim então?
global $wpdb;
$postid = get_the_ID();
$last_posts = array();
if (isset($_COOKIE['last_posts'] && $_COOKIE['last_posts']!='')) {
$last_posts = unserialize($_COOKIE['last_posts']);
$last_posts[3] = $last_posts[2];
$last_posts[2] = $last_posts[1];
$last_posts[1] = $postid;
}
setcookie('last_posts', serialize($last_posts), time()+3600);
]
$args = array(
'post_type' => 'posts',
'post__in' => array( $last_posts )
)
$query = new WP_Query( $args );
while ( $query->have_posts() ) : $query->the_post();
the_title();
endwhile;
wp_reset_query();
Devo estar totalmente errado né pessoal? :'(