¿Cómo detectar la primera visita de un usuario?

2

Quiero crear una alerta para los usuarios que visitan mi blog de WordPress. ¿Existe una función condicional como is_home() para detectar si alguien visita el blog por primera vez ? Quiero enviar la alerta a cada nuevo usuario, sin importar en qué sitio ingresó.

    
pregunta Pete St. 18.01.2013 - 21:41

2 respuestas

5

No, no hay nada en el núcleo como ese.

Puede configurar una cookie y hacerlo lo suficientemente simple (advertencia: el código no probado sigue).

<?php
function is_first_time()
{
    if (isset($_COOKIE['_wp_first_time']) || is_user_logged_in()) {
        return false;
    }

    $domain = COOKIE_DOMAIN ? COOKIE_DOMAIN : $_SERVER['HTTP_HOST'];

    // expires in 30 days.
    setcookie('_wp_first_time', '1', time() + (WEEK_IN_SECONDS * 4), '/', $domain);

    return true;
}

if (is_first_time()) {
     // it's the user's first time, do stuff!
}

Solo asegúrate de que el búfer de salida esté activado o úsalo antes de que se envíe algo a la pantalla para asegurarte de que la cookie se establece.

    
respondido por el chrisguitarguy 18.01.2013 - 21:58
1

Modificado un poco de chrisguitarguy. Colóquelo en su archivo functions.php, y use el condicional en plantillas de tema, etc. a través del gancho

function is_first_time() {
    if (isset($_COOKIE['_wp_first_time']) || is_user_logged_in()) {
        return false;
    } else {
        // expires in 30 days.
        setcookie('_wp_first_time', 1, time() + (WEEK_IN_SECONDS * 4), COOKIEPATH, COOKIE_DOMAIN, false);

        return true;
    }
}
add_action( 'init', 'is_first_time');
    
respondido por el Kegan Quimby 02.10.2013 - 00:40

Lea otras preguntas en las etiquetas