grazie mille marko80 per la risposta.
Il codice fornito è proprio quello che mi serve, il codice che sto utilizzando però comunque non funziona e non ne comprendo il motivo.
Il cookie viene creato ma forse non letto successivamente. In pratica a me serve che si controlli la data di creazione del cookie per capire se l'utente è entrato prima di aver pubblicato un articolo. In tal caso viene segnalata la scritta "nuovo" vicino al titolo.
Mi aiuteresti guardando il codice? grazie mille a prescindere!!
//Wordpress nuovo post
function wpb_lastvisit_the_title ( $title, $id ) {
$utente = wp_get_current_user()->user_login;
if ( !in_the_loop() || is_singular() || get_post_type( $id ) == 'page' ) return $title;
// se il cookie non è presente restituisce il titolo
$lastvisit = $_COOKIE['idutente'.$utente];
if ( !isset($_COOKIE['idutente'.$utente]) || $_COOKIE['idutente'.$utente] == '' ) return $title;
$publish_date = get_post_time( 'U', true, $id );
if ($publish_date > $lastvisit) $title .= '<span class="new-article"> Nuovo!</span>';
return $title;
}
add_filter( 'the_title', 'wpb_lastvisit_the_title', 10, 2);
// Set the lastvisit cookie
function wpb_lastvisit_set_cookie() {
$utente = wp_get_current_user()->user_login;
if ( is_admin() ) return;
$current = current_time( 'timestamp', 1);
setcookie( 'idutente'.$utente, $current-60, time()+60+60*24*7, COOKIEPATH, COOKIE_DOMAIN );
}
add_action( 'init', 'wpb_lastvisit_set_cookie' );