Внутри плагина WordPress есть ли способ получить имя и адрес электронной почты текущего пользователя, когда он / она не вошли в систему, но недавно отправил комментарий и указанное имя и адрес электронной почты в форме ответа на комментарий?
Или имя и адрес электронной почты доступны только во время HTTP-запроса, в котором обрабатывается [комментарий, отправленный пользователем]?
(Когда пользователь не вошел в систему, WP_User
возвращаемый wp_get_current_user()
содержит информации о имени пользователя или имени пользователя, который я заметил при отладке.)
(Предыстория: я пишу плагин оценки комментариев, и я хотел бы выделить рейтинги пользователей, даже если он / она не является зарегистрированным пользователем. Как уже упоминалось в комментариях ниже, возможно, некоторые файлы cookie понадобятся в любом Я все еще заинтересован в том, чтобы знать ответ на этот вопрос, возможно, я мог бы повторно использовать некоторые существующие функции или что-то еще)
Незарегистрированное имя пользователя и адрес электронной почты доступны в файлах cookie, как только он / она оставил комментарий. Печеньки называются:
comment_author_3e6aea64ec43ed661a5dee3433f1e8bc comment_author_email_3e6aea64ec43ed661a5dee3433f1e8bc
Вы можете получить их так:
sanitize_comment_cookies(); wp_get_current_commenter(); // returns comment_author, // comment_author_email, comment_author_url
Они созданы здесь в comment.php
:
/** * Sets the cookies used to store an unauthenticated commentator's identity. Typically used * to recall previous comments by this commentator that are still held in moderation. * * @param object $comment Comment object. * @param object $user Comment author's object. * * @since 3.4.0 */ function wp_set_comment_cookies($comment, $user) { if ( $user->exists() ) return; $comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000); setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, ...); setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, ...); setcookie('comment_author_url_' . COOKIEHASH, ...); }
(Я узнал, wp-comments-post.php
через wp-comments-post.php
с помощью отладчика.)
((Как уже упоминалось в комментариях ниже первоначального вопроса выше, не может ли это иногда быть проблемой конфиденциальности, если кто-то публикует комментарий в публичной библиотеке – тогда тот, кто использует компьютер впоследствии, может найти те комментарии, которые «ждут» аутентификация ", и знать, кто их написал, хм))