Обновление cookies комментаторов.

Проблема следующая. Защел комментатор и ввел в форму свою почту, имя и сайт. И опечатался или указал что то неверно. Эти значения записались в куки.

Александрр
***@mail.ruu
http://site.ru/blogg

Я в админке исправил опечатки и утвердил комментарий, но кукисы пользователя при этом не обновились.

Есть ли какой плагин или решение, чтобы все изменения вносились и в кукисы пользователя при следующем посещении?

Погуглите про время жизни кукисов. В любой книжке по PHP такая информация есть.

Я всегда думал по истечении времени жизни кукисов они просто удаляются и все надо вводить заново.

Они и удаляются. Только время жизни им можно задать разное.

То есть нельзя просто обновить одно значение когда пользователь зайдет?

Т.е. кукисы допустим хранят Alexey:mail@alexey.ru:http://site.ru и из этого изменить при заходе Alexey на Aleksandr.

Почему же нельзя? Можно. Нужно только то, что Вы написали по-русски, и то, что не написали ("если изменилось при редактировании…"), перевести на язык php и оформить в виде плагина к WordPress.

Вот это как раз нереальная задача, если все остальные функции if else я еще более менее понимаю, то кукисы – это вообще темный лес.

Куки – это как раз не самая сложная часть этой задачки. WP делает это так:

if ( !$user->ID ) {
    $comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
    setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
    setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
    setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
}

А вот поймать и отследить гораздо сложнее.

спасибо, попробую что нибуть придумать с этими строчками…

http://wordpress.org/extend/plugins/forget-user-info/

sonika, О, круть! Это что то близкое к тому что я хочу сделать. Осталось сообразить куда if else подставить только. Благодарю за наводку!

Anonymous
Отправить
Ответ на: