简数采集发布内容到wordpress自动过滤iframe代码解决方案。

今天用简数采集几个B站的视频,发现采集到的数据里是有iframe内容的,但发布到wordpress上就没有了,但我自己在wordpress上纯手工发布iframe代码也是在的,经过网上查找资料给用户权限或者修改kses.php文件,一番测试下来修改用户权限没用,修改kses.php代码,又觉得风险太大,那么到底怎么解决呢?

解决方案

修改简数插件keydatas.php文件代码,
把第92行

$content =wp_kses_post($_POST["post_content"]);

改成:

// 自定义过滤规则:保留iframe标签,其余按wp_kses_post规则过滤
$allowed_tags = wp_kses_allowed_html('post');
$allowed_tags['iframe'] = array(
    'src' => true,
    'width' => true,
    'height' => true,
    'frameborder' => true,
    'allowfullscreen' => true
);
$content = wp_kses($_POST["post_content"], $allowed_tags);


备注:插件在发布内容的时候直接调用了wp_kses_post(),所以就过滤掉了IF代码,如果直接修改kses.php那是可以的,因为本身调用的就是这个。