普通视图

发现新文章,点击刷新页面。
昨天以前首页
  • ✇新锐博客
  • 记一次function代码无法生效的情况莫忘
    前言 本人喜欢瞎搞,所以子主题的function.php文件中弄了不少东西,然后也就没太在意某些代码 记录 今天有人在前一篇文章进行了留言,然后我就想要回复他,突然想到之前在function中部署了关于WordPress回复他人邮件通知的功能。 但是一直没有试验有没有部署成功,因为同款主题的其他站长确定部署成功了,我就心血来潮的想要去测试一番。 于是我就在留言板回复了自己的留言,但是一直没有收到邮件,我就知道我没有部署成功。 接着,我就找到了同款主题的其他站长询问,因为安装了wpopt插件,而插件有评论站长收到邮件通知的功能。 所以自然而然就觉得是wpopt的问题了,便有了如下对话。 但是其他人都可以,为啥就我不行呢?有没有办法解决呢? 幸好现在有强大的AI,于是我就去deepseek官网,将之前的回复他人评论邮件通知的代码发给AI,并且提问为何不生效。 AI回复我可能是因为由于其他插件的缘故,导致回复他人邮件通知的功能被屏蔽掉了。于是我就想到了提高此功能的优先级。 我便让AI帮我把功能的优先级提高了。 最终有了新的代码,当然我也让AI美化了一下界面。 传送门
     

记一次function代码无法生效的情况

作者 莫忘
2025年3月13日 00:48

前言

本人喜欢瞎搞,所以子主题的function.php文件中弄了不少东西,然后也就没太在意某些代码

记录

今天有人在前一篇文章进行了留言,然后我就想要回复他,突然想到之前在function中部署了关于WordPress回复他人邮件通知的功能。

但是一直没有试验有没有部署成功,因为同款主题的其他站长确定部署成功了,我就心血来潮的想要去测试一番。

于是我就在留言板回复了自己的留言,但是一直没有收到邮件,我就知道我没有部署成功。

接着,我就找到了同款主题的其他站长询问,因为安装了wpopt插件,而插件有评论站长收到邮件通知的功能。

所以自然而然就觉得是wpopt的问题了,便有了如下对话。

图片[1]-新锐博客

但是其他人都可以,为啥就我不行呢?有没有办法解决呢?

幸好现在有强大的AI,于是我就去deepseek官网,将之前的回复他人评论邮件通知的代码发给AI,并且提问为何不生效。

AI回复我可能是因为由于其他插件的缘故,导致回复他人邮件通知的功能被屏蔽掉了。于是我就想到了提高此功能的优先级。

我便让AI帮我把功能的优先级提高了。

最终有了新的代码,当然我也让AI美化了一下界面。

传送门

  • ✇新锐博客
  • WordPress添加评论邮箱通知莫忘
    前言 一直很想用评论邮件通知功能,但是一直都没有实现,今天突然有了些思路,于是就尝试一下。 截图 教程 首先下载PHPMailer邮件库,然后在function.php里添加如下代码: // 创建一个函数来发送邮件通知管理员 function send_comment_notification($comment_ID) { // 这是评论请求,执行评论邮件通知功能 // 检查是否是评论的 AJAX 请求 if (defined('DOING_AJAX') && isset($_POST['action']) && $_POST['action'] == 'add-comment') { return; // 如果是评论的 AJAX 请求,直接返回,不执行邮件发送 } // 引入PHPMailer库 require '/www/wwwroot/你的域名/PHPMailer/src/Exception.php';
     

WordPress添加评论邮箱通知

作者 莫忘
2024年4月23日 20:02

前言

一直很想用评论邮件通知功能,但是一直都没有实现,今天突然有了些思路,于是就尝试一下。

截图

图片[1]-新锐博客

教程

首先下载PHPMailer邮件库,然后在function.php里添加如下代码:

// 创建一个函数来发送邮件通知管理员
function send_comment_notification($comment_ID) {
        // 这是评论请求,执行评论邮件通知功能

        // 检查是否是评论的 AJAX 请求
        if (defined('DOING_AJAX') && isset($_POST['action']) && $_POST['action'] == 'add-comment') {
             return; // 如果是评论的 AJAX 请求,直接返回,不执行邮件发送
         }

        // 引入PHPMailer库
        require '/www/wwwroot/你的域名/PHPMailer/src/Exception.php';
        require '/www/wwwroot/你的域名/PHPMailer/src/PHPMailer.php';
        require '/www/wwwroot/你的域名/PHPMailer/src/SMTP.php';

        // 获取评论对象
        $comment = get_comment($comment_ID);

        // 获取文章对象
        $post = get_post($comment->comment_post_ID);

        // 设置管理员邮箱
        $admin_email = '收件人邮箱';

        // 创建邮件对象
        $mail = new PHPMailerPHPMailerPHPMailer;
        $mail->isSMTP();
        $mail->Host = '发件人邮箱服务器';
        $mail->SMTPAuth = true;
        $mail->Username = '发件人邮箱';
        $mail->Password = '邮箱密码';
        $mail->SMTPSecure = 'ssl';
        $mail->Port = 465;
        $mail->CharSet = 'UTF-8'; // 设置字符集为UTF-8
        $mail->setFrom('发件人邮箱', '邮箱名字');
        $mail->addAddress($admin_email);
        $mail->Subject = '有新的评论: ' . $post->post_title;
        $mail->Body = "姓名: " . $comment->comment_author . "n邮箱: " . $comment->comment_author_email . "n评论内容: " . $comment->comment_content . "nn文章链接: " . get_permalink($post);

        // 发送邮件
        if (!$mail->send()) {
            // 记录邮件发送失败状态到文件
            $log_message = date('Y-m-d H:i:s') . " - 邮件发送失败。错误信息: " . $mail->ErrorInfo . PHP_EOL;
            file_put_contents('/www/wwwroot/你的域名/PHPMailer/email_logs.txt', $log_message, FILE_APPEND);
        } else {
            // 记录邮件发送成功状态到文件
            $log_message = date('Y-m-d H:i:s') . " - 邮件已发送" . PHP_EOL;
            file_put_contents('/www/wwwroot/你的域名/PHPMailer/email_logs.txt', $log_message, FILE_APPEND);
        }
    }
// 钩子函数,当有新评论时调用send_comment_notification函数
add_action('wp_insert_comment', 'send_comment_notification');

最后在域名根目录创建一个email_logs.txt 用来记录发送记录,这样就不会影响系统对于评论成功与否的判断。

如果提示发送失败,可以尝试把ssl改成tls。

下载地址

PHPMailer
❌
❌