• Galera, estava precisando montar um loop na qual mostrasse os últimos posts de um custom post type, acessados pelo usuário, na lógica sei que teria que ser feito com cookies mas não faço a mínima ideia de como fazer isso, pois nunca trabalhei com cookies..

    Alguém poderia me ajudar?

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Criador do tópico Anderson Narciso

    (@andersonnarciso)

    (Y)

    Criador do tópico Anderson Narciso

    (@andersonnarciso)

    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.

    Criador do tópico Anderson Narciso

    (@andersonnarciso)

    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.

    Criador do tópico Anderson Narciso

    (@andersonnarciso)

    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();
    Criador do tópico Anderson Narciso

    (@andersonnarciso)

    Devo estar totalmente errado né pessoal? :'(

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Custom Post Type Loop por Cookie’ está fechado para novas respostas.