📜  下次我在 wp 中评论删除时,将我的姓名、电子邮件和网站保存在此浏览器中 - PHP (1)

📅  最后修改于: 2023-12-03 15:35:53.826000             🧑  作者: Mango

以'下次我在 wp 中评论删除时,将我的姓名、电子邮件和网站保存在此浏览器中 - PHP '作主题

介绍

这是一个用PHP实现的功能,旨在使用户在下次在WordPress评论中删除自己的姓名、电子邮件和网站时,不需要再次输入这些信息。当用户删除评论时,这些信息将被保存在本地浏览器中,并在下次评论时自动填充。

这种功能可以提高用户友好性,减少输入时间,提高用户体验。

代码实现

我们可以使用WordPress的提供的两种钩子来实现这个功能。

  1. comment_delete,用于在评论被删除后执行一些操作。
  2. set_logged_in_cookie,用于在用户登录WordPress时执行一些操作。

以下是代码片段:

// 将我的姓名、电子邮件和网站保存在此浏览器中
function save_user_info_in_browser($comment_id) {
    // 获取评论信息
    $comment = get_comment($comment_id);
    // 获取用户信息
    $user = get_userdata($comment->user_id);
    // 如果用户已登录,则保存其姓名、电子邮件和网站信息
    if ($user) {
        setcookie('user_name', $user->display_name, time() + 3600 * 24 * 7);
        setcookie('user_email', $user->user_email, time() + 3600 * 24 * 7);
        setcookie('user_website', $user->user_url, time() + 3600 * 24 * 7);
    }
}
add_action('comment_delete', 'save_user_info_in_browser');

// 当用户登录时,将他们的信息保存在本地浏览器中
function save_user_info_on_login($user_login) {
    $user = get_user_by('login', $user_login);
    if ($user) {
        setcookie('user_name', $user->display_name, time() + 3600 * 24 * 7);
        setcookie('user_email', $user->user_email, time() + 3600 * 24 * 7);
        setcookie('user_website', $user->user_url, time() + 3600 * 24 * 7);
    }
}
add_action('set_logged_in_cookie', 'save_user_info_on_login');
使用方法

只需将以上代码片段添加到WordPress主题的functions.php文件中即可。这样,在下次用户登录时,他们的姓名、电子邮件和网站信息就会自动保存在浏览器中,以便在评论中使用。当用户删除自己的评论时,这些信息也会自动删除。

享受更好的用户体验吧!