WordPress后台发布新文章时HTML标签iframe会被自动过滤掉解决方案。
网站用户在后台发布文章时候的,文章中嵌入的视频被过滤掉了,显示不出来,排查后,发现是因为WordPress程序的问题,在这里记录一下解决方法。
方案一:
在wp-includes文件夹下的kses.php中搜索$allowedposttags = array(,这是个不过滤标签组成的数组,里面所列即是不过滤的标签集合。
//add_action('init', 'kses_init');
//add_action('set_current_user', 'kses_init');
这种做法是去掉wordpress对所有标签的过滤,但将这些开放给注册用户会存在潜在的隐患,不推荐使用!
假如你发表文章时带有iframe标签。
<iframesrc=”#”width=”10″height=”10″frameborder=”0″allowfullscreen>
又不想被不过滤,可在$allowedposttags = array(中添加下面语句:
'iframe' => array(
'src' => true,
'width' => true,
'height' => true,
'frameborder' => true,
'allowfullscreen' => true,
),
方案二:
允许作者撰写文章和读者留言时添加HTML代码,比如插入视频站点提供的视频HTML代码等,可以在主题的functions.php中添加以下代码:
remove_action('init', 'kses_init');
remove_action('set_current_user', 'kses_init');
方案三:
如果只允许网站作者使用HTML代码,可以安装:WordPress用户角色编辑插件:UserRoleEditor
在插件设置中勾选作者角色”不过滤html标签“即可。
如果是WPJAM插件,可以在用户设置加上“unfiltered_html”权限。
jiyouzhan
这篇文章写得深入浅出,让我这个小白也看懂了!