Wordpress保持“;清洁”;我的帖子格式html


Wordpress keeps "cleaning" my post format html

所以在这里,我再次发现自己在与wordpress wysiwyg编辑器作斗争。我的一个客户要求将他的网站迁移到WP。没有问题,微风:)。真的很容易,从一个DB结构迁移到另一个,一切都很顺利

现在我有个问题。旧网站使用了一个编辑器,在内容中添加了<br>和<p>标签,以便对其进行格式化(对我来说听起来是合法的)。但是wordpress不允许使用这些标签。每当客户端试图编辑帖子时,WP都会删除它认为"非法"的所有HTML标记。

所以我继续搜寻。首先,我尝试安装一些我为这个问题找到的推荐插件(比如这个)。对我来说根本不起作用(我相信对其他人来说是这样)。。。

然后我发现了一个帖子,告诉我在function.php文件中添加一个函数,它将删除过滤器:

function mod_mce($initArray) {
$initArray['verify_html'] = false;
return $initArray;
}
add_filter('tiny_mce_before_init', 'mod_mce');

还有这个:

function my_tinymce( $init ) {
$ext = 'div[id|name|class|style]';
if ( isset( $init['extended_valid_elements'] ) ) {
    $init['extended_valid_elements'] .= ',' . $ext;
} else {
    $init['extended_valid_elements'] = $ext;
}
 return $init;
} 
add_filter( 'tiny_mce_before_init', 'my_tinymce' );

函数。不,也没用。。。

有人知道吗?这看起来很傻,但围绕这个话题有很多争论。。。感谢

您可以尝试删除wpautop用于过滤内容和摘录的过滤器,只需将这些过滤器放在您的函数.php文件中即可

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

参考:WordPess wpautop

允许在tinyMCE 中加载带有p和br的旧内容

function my_tinymce_config( $init ) {
    $init['remove_linebreaks'] = false; 
    $init['convert_newlines_to_brs'] = true; 
    $init['remove_redundant_brs'] = false; 
    return $init;
}
add_filter('tiny_mce_before_init', 'my_tinymce_config');

参考:tinyMCE配置查看清理/输出并尝试使用这些。

另一种方法可能有帮助参考

tinyMCE.init({
    ...
    verify_html : false
});