开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

在 WordPress 中预处理评论内容

我付出了大量努力来确保此博客上的评论系统快速且功能齐全。评论系统是基于 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 挂钩来控制!

未经允许不得转载:我爱分享网 » 在 WordPress 中预处理评论内容

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏