我付出了大量努力来确保此博客上的评论系统快速且功能齐全。评论系统是基于 AJAX 的,因此您无需担心页面刷新。您还可以发布指向 GitHub gists、CodePen pen 和 JSFiddle fiddles 的链接,并在评论中查看它们的呈现。我在系统中注册评论后完成的那些任务。但是,如果您想在处理评论内容并随后将其标记为垃圾邮件或擦除之前修改评论内容怎么办?使用 WordPress 挂钩非常容易!
PHP
preprocess_comment
挂钩允许我们在评论数据被处理之前获取它。以下是我如何使用这个钩子,在 元素中包装
`text`
字符串,并在
// 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 挂钩来控制!