Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress保持;“清洁”;我的帖子格式html_Php_Wordpress_Wysiwyg - Fatal编程技术网

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

Php Wordpress保持;“清洁”;我的帖子格式html,php,wordpress,wysiwyg,Php,Wordpress,Wysiwyg,所以在这里,我发现自己又一次与wordpress wysiwyg编辑器斗争。 我的一个客户请求将他的网站迁移到WP。没问题,轻而易举:)。 真的很简单,从一个DB结构迁移到另一个,一切都正常 现在我有一个问题。旧网站使用了一个编辑器,在内容中添加了和标签,以便对其进行格式化(我觉得这听起来很合法)。但是wordpress不允许这些标签。每当客户端试图编辑帖子时,WP就会删除它认为“非法”的所有HTML标记 于是我继续寻找。首先,我尝试安装一些我为这个问题找到的推荐插件(例如)。对我来说根本不起作

所以在这里,我发现自己又一次与wordpress wysiwyg编辑器斗争。 我的一个客户请求将他的网站迁移到WP。没问题,轻而易举:)。 真的很简单,从一个DB结构迁移到另一个,一切都正常

现在我有一个问题。旧网站使用了一个编辑器,在内容中添加了
标签,以便对其进行格式化(我觉得这听起来很合法)。但是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
});