Php Wordpress保持;“清洁”;我的帖子格式html
所以在这里,我发现自己又一次与wordpress wysiwyg编辑器斗争。 我的一个客户请求将他的网站迁移到WP。没问题,轻而易举:)。 真的很简单,从一个DB结构迁移到另一个,一切都正常 现在我有一个问题。旧网站使用了一个编辑器,在内容中添加了Php Wordpress保持;“清洁”;我的帖子格式html,php,wordpress,wysiwyg,Php,Wordpress,Wysiwyg,所以在这里,我发现自己又一次与wordpress wysiwyg编辑器斗争。 我的一个客户请求将他的网站迁移到WP。没问题,轻而易举:)。 真的很简单,从一个DB结构迁移到另一个,一切都正常 现在我有一个问题。旧网站使用了一个编辑器,在内容中添加了和标签,以便对其进行格式化(我觉得这听起来很合法)。但是wordpress不允许这些标签。每当客户端试图编辑帖子时,WP就会删除它认为“非法”的所有HTML标记 于是我继续寻找。首先,我尝试安装一些我为这个问题找到的推荐插件(例如)。对我来说根本不起作
和
标签,以便对其进行格式化(我觉得这听起来很合法)。但是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' );
功能来自。
不,也不起作用
有人知道吗?这看起来很傻,但围绕这个话题有太多的争论。。。
谢谢您可以尝试删除用于过滤内容和摘录的过滤器,只需将它们放在funcions.php文件中即可
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', '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');
参考:查看清理/输出,并尝试使用它们
另一种方法可能会有所帮助
我想把整个数据库都换成别的东西,但是没有更简单的解决方案吗?我为自己创建了一个小的WP插件,它通过修改wordpress源代码禁用了一些功能:wpautop
,WP\u nop
,wptexturizer
,大写字母p\u dangit
。。。您好,非常感谢您的分享,但还是一样的行为。我终于用这个插件解决了这个问题:嗨,谢谢你的评论。我向functions.php添加了建议的代码,但是当我在HTML和Visual选项卡之间切换时,仍然会删除所有的
和标记:/。。。我是否理解正确,代码应该阻止这种行为?我没有尝试应用js代码-你能告诉我在WP中mce配置文件隐藏在哪里吗?找不到它…您可以将tinyMCE.init({…})放在主JSF文件中。请参阅
tinyMCE.init({
...
verify_html : false
});