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里的内容就可以正确展示出来了。