> 백엔드 개발 > PHP 튜토리얼 > wordpress作者角色添加不了视频代码_PHP教程

wordpress作者角色添加不了视频代码_PHP教程

WBOY
풀어 주다: 2016-07-20 11:14:03
원래의
785명이 탐색했습니다.

一直有一个很诡异的情况,就是在wordpress里不能加入视频代码,具体是在后台编辑器文本模式下添加视频代码后,切换到可视化能正常看到视频框,但保存后视频代码消息。

仔细观察后发现作者不能添加,而编辑和管理员能添加。

不吊胃口,先说解决方案:说穿了很简单,安装一个插件“用户角色编辑器“,将作者角色下的”不过滤html标签“勾上即可。

下面是折腾过程:

1. debug,发现如下代码调用顺序:

wp_update_post->

wp_insert_post->

sanitize_post->

sanitize_post_field->

 

2. 

content_save_pre.

 

wp_filter_post_kses');。

function kses_init() {
kses_remove_filters();

if (current_user_can('unfiltered_html') == false)
kses_init_filters();
}

add_action('init', 'kses_init');
add_action('set_current_user', 'kses_init');

 

这时发现就是属于当前用户没有unfilter_html的这个权限了。

 

解决方案

1. 尝试将这个wp_filter_post_kses 利用函数remove_filter去掉,但这就出现一个add_filter与remove_filter的先后关系问题,但我加的地方remove_filter竟然在add_filter之前。

  这样子即使找到一个巧妙的地方将remove加进去,也太依赖这个先后关系,保不谁出大乱子。

2. 直接给用户赋预unfilter_html权限,这样子一个缺点是将kses_init_filters里的一系列函数都给删掉了。考虑到这个是自己的博客,作者都是是指定的几个人,而且此解决方法易于理解,没有那么多绕绕,就决定用这种方法了。

 

wordpress真强大,也真够折腾人的。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440311.htmlTechArticle一直有一个很诡异的情况,就是在wordpress里不能加入视频代码,具体是在后台编辑器文本模式下添加视频代码后,切换到可视化能正常看到...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿