默认情况下,WordPress 评论表单允许用户在评论中包含基本的HTML标签,这包括


> 等等。在大多数情况下,这些基本标签足以添加基本格式。但对于某些网站,可能需要更多标签,才能实现需要的功能。

例如,在一个服务器配置分享网站上,用户需要通过评论分享 Apache 的 .htaccess 代码。但由于 WordPress 允许的 HTML 标签有限,当用户试图分享包含 Apache 标记(如 > 的评论时,WordPress 评论过滤系统就删除这些标记。任何不允许的标记(无论是 HTML 标记还是其他标记)这会享受到这个待遇。

为了去掉这个限制,WordPress 提供了一种简单的方法来自定义允许的评论标记,在上面的情况中,我们可以添加以下函数来允许用户在评论中添加需要的标签:

function wprs_add_allowed_tags() {
	
	global $allowedtags;
	
	$allowedtags['p']   = array('class' => true, 'id' => true);
	$allowedtags['ul']  = array('class' => true, 'id' => true);
	$allowedtags['ol']  = array('class' => true, 'id' => true);
	$allowedtags['li']  = array('class' => true, 'id' => true);
	$allowedtags['pre'] = array('class' => true, 'id' => true);
	
	$allowedtags['a']      = array('class' => true, 'id' => true, 'title' => true, 'data-url' => true, 'data-date' => true, 'data-title' => true, 'href' => true);
	$allowedtags['span']   = array('class' => true, 'id' => true, 'title' => true, 'data-url' => true, 'data-date' => true, 'data-title' => true);
	$allowedtags['strong'] = array('class' => true, 'id' => true, 'title' => true, 'data-url' => true, 'data-date' => true, 'data-title' => true);
	
	$allowedtags['ifmodule']    = array('class' => true, 'mod_rewrite.c' => true, 'mod_alias.c' => true, 'mod_auth.c' => true);
	$allowedtags['directory']   = array();
	$allowedtags['virtualhost'] = array();
	
	$allowedtags['info']   = array();
	$allowedtags['note']   = array();
	$allowedtags['update'] = array();
	
}
add_action('init', 'wprs_add_allowed_tags', 11);

除了默认允许的基本 HTML 标记外,这段代码还添加了前面提到的 Apache 标记,以及一些内部用于保存记录等的一些标记。

如果您需要类似的功能,可以直接把上面代码添加到主题或插件中,然后根据自己的需要调整其中允许的标记即可。