Я хочу сделать что-то похожее на то, что есть у Techcrunch на их сайте. На данный момент я использую плагин WordPress, который помечает сообщения как новые и думаю изменить его для достижения аналогичной функциональности, но плагин не будет работать для загрузки AJAX. То, что я хочу сделать, - это когда пользователь открывает новое сообщение, автоматически после того, как он возвращается на главную страницу, заголовок и выдержка из сообщения, которые будут окрашены в цвет. Как сделать это с настройкой cookie и заставить его работать для заголовка и выдержки на любой странице (для списка публикаций, сеток и т. Д.), А не для одной страницы публикации. А также мне нужно, чтобы это работало, когда новые сообщения загружаются с помощью ajax.
Я попробовал эту функцию, и она работает нормально, но теперь мне нужно изменить текстовую метку на Старый после того, как пользователь откроет сообщение, изатем ввести некоторые CSS в заголовок. Кроме того, это не идеально, потому что я хочу, чтобы все сообщения были новыми при первом посещении, а затем изменились на Старые после того, как пользователь открыл их.
function wpb_lastvisit_set_cookie() {
if ( ! is_admin() && ! isset( $_COOKIE['lastvisit'] ) ) {
setcookie( 'lastvisit', $current, time() + 3600 * 24 * 100, COOKIEPATH, COOKIE_DOMAIN, false );
}
}
add_action( 'init', 'wpb_lastvisit_set_cookie');
function wpb_lastvisit_the_title ( $title, $id ) {
if ( !in_the_loop() || is_singular() || get_post_type( $id ) == 'page' ) return $title;
// if no cookie then just return the title
if ( !isset($_COOKIE['lastvisit']) || $_COOKIE['lastvisit'] == '' ) return $title;
$lastvisit = $_COOKIE['lastvisit'];
$publish_date = get_post_time( 'U', true, $id );
if ($publish_date > $lastvisit) $title .= ' New';
if ($publish_date < $lastvisit) $title .= ' Old';
return $title;
}
add_filter( 'the_title', 'wpb_lastvisit_the_title', 10, 2);