让bbpress支持TinyMCE Editor,并允许某些HTML代码执行的方法

bbpress自带的编辑器实在是太简陋,为了方便会员从别的网站复制粘帖一些有趣的内容到自己的论坛,我们需要让bbpress的发帖框支持所见即所得功能。

bbpress默认是禁止了富文本编辑器TinyMCE的,为了打开这个设置, 可以将这段代码粘贴到主题文件夹下的functions.php中:

function bbp_enable_visual_editor( $args = array() ) {
$args['tinymce'] = true;
$args['teeny'] = false;
return $args;
}
add_filter( 'bbp_after_get_the_content_parse_args', 'bbp_enable_visual_editor' );

然后到后台设置---论坛---发表格式设置,将给编辑器添加工具栏和按钮,帮助用户写HTML格式代码打上勾,保存即可。在到前台我们就看到bbpress的编辑器已经支持TinyMCE了。

但还有一个问题,当复制某些网站的文章并粘贴到bbpress发表后,文章中的"p" "section" "span" 等HTML代码不能被解析,我们还需要再到functions.php中添加如下代码:

function ja_filter_bbpress_allowed_tags() {
return array(
// paragraphs
'p' => array(
'style'     => array()
),
'span' => array(
'style'     => array()
),
'section' => array(
'style'     => array()
),
'strong' => array(
'style'     => array()
),
// Links
'a' => array(
'href'     => array(),
'title'    => array(),
'rel'      => array()
),
// Quotes
'blockquote'   => array(
'cite'     => array()
),
// Code
'code'         => array(),
'pre'          => array(),
// Formatting
'em'           => array(),
'del'          => array(
'datetime' => true,
),
// Lists
'ul'           => array(
'style'     => array()
),
'ol'           => array(
'start'    => true,
),
'li'           => array(),
// Images
'img'          => array(
'src'      => true,
'border'   => true,
'alt'      => true,
'height'   => true,
'width'    => true,
)
);
}
add_filter( 'bbp_kses_allowed_tags', 'ja_filter_bbpress_allowed_tags' );

这个代码可以增删,如果发现什么HTML符号不能被解析,就在里面加上即可。这样从别处复制过来到bbpress里的内容就可以正确展示出来了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注