建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

在 WordPress 中预处理评论内容

GG网络技术分享 2025-03-18 16:08 0


我付出了巨大的努力来确保这个博客上的评论系统快速且功能丰富。 评论系统是基于 AJAX 的,因此您无需担心页面刷新。 您还可以发布指向 GitHub gists、CodePen 笔和 JSFiddle fiddles 的链接,并在评论中查看它们的呈现。 我在系统中注册评论后完成的那些任务。 但是,如果您想在评论内容被处理之前对其进行修改,然后将其标记为垃圾邮件或被清除怎么办? 使用 WordPress 挂钩非常简单!

PHP的

preprocess_comment 钩子允许我们在处理之前获取评论数据。 这是我如何使用这个钩子,包装 `text` 中的字符串 <code> 元素和编码角度字符 <pre> 要素:

// Manage comment submissions

function preprocess_new_comment($commentdata) {

// Replace `code` with <code>code</code>

$commentdata['comment_content'] = preg_replace("/`(.*)`/Um", "<code>$1</code>", $commentdata['comment_content']);

// Ensure that code inside pre's is allowed

preg_match_all("/<pre(.*?)>(.*)</pre>/", $commentdata['comment_content'], $pre_matches); // $2

foreach($pre_matches as $match) {

$immediate_match = str_replace(array('<', '>'), array('<', '>'), $match[2]);

$commentdata['comment_content'] = str_replace($match[2], $immediate_match, $commentdata['comment_content']);

}

// Return

return $commentdata;

}

add_action('preprocess_comment', 'preprocess_new_comment');

应该将此片段添加到functions.php,就像您期望的WordPress主题增强一样。

我喜欢 WordPress 钩子系统——它使 CMS 非常强大和可定制。 我也使用这个钩子来防止 WordPress 评论垃圾邮件。 由于许多用户将 HTML 代码放在我的评论中,因此正确编码这些角度字符很重要。 最后,您永远不知道您的用户将提交什么以及每个站点将接受什么——使用这个 WordPress 钩子来控制!

标签: WordPress 教程

提交需求或反馈

Demand feedback