Как разрешить авторам добавлять видео в Вордпресс
Содержание:
Решил подключить к наполнению своего сайта постороннего копирайтера, для чего сделал ему права автора. Однако на Вордпресс при этом столкнулся с одной проблемой, которая почему-то не особо часто освещается на просторах Интернета.
↑ Ограничения Wordpress для авторов
Речь идет о том, что, когда пользователь в роли Автора выкладывает запись в виде текста с вложенными картинками и видеороликами с Youtube, то при сохранении происходит фильтрация, которая убирает тэги видео.
Кроме тэгов iframe, пользователям в роли авторы также недоступны тэги input, script и многие другие.
↑ Как вставить iframe на wordpress?
Покопавшись в сети, нашел 2 способа решения этой проблемы. Не хочу вдаваться в подробности, хочу рассказать о практическом решении и достижения результата.
↑ Решение при помощи команд Базы данных
Первый метод касается внесения изменений в команды базы данных при помощи сервиса PHPmyAdmin. Этот метод, на мой взгляд, не особо хорош и для новичков более сложен, поэтому на нем не буду особо останавливаться.
↑ Дополнение команд в файл functions.php
Этот метод заключается в добавлении в файл functions.php темы вашего сайта небольшого дополнительного скрипта. Этот способ я опробовал и он реально сработал, поэтому и рекомендую именно его.

И так:
- В Админке через меню слева: Внешний вид -> Редактор заходим в файл functions.php (выбираем его справа).
- В любое место этого файла (можно в самом конце) добавляем предложенный скрипт.
- Сохраните измененный файл кнопкой: Обновить файл.
↑ Скрипты для файла functions.php
Если вы хотите разрешить Автору размещать в записях все тэги, то вставляйте следующий скрипт:
//включение тэгов html для авторов начало
function wph_allow_unfiltered_html() {
$role = get_role('author');
$role->add_cap('unfiltered_html');
}
add_action('admin_init', 'wph_allow_unfiltered_html');
// включение тэгов html для авторов завершение
Если вы хотите разрешить Автору размещать в записях только видео (тэги frame), то вставляйте следующий скрипт:
//разрешение тэга frame для автора начало
function wph_allow_iframe_tag($allowedposttags) {
if( !current_user_can('author') ) return $allowedposttags;
$allowedposttags['iframe'] = array(
'align' => true,
'width' => true,
'height' => true,
'frameborder' => true,
'name' => true,
'src' => true,
'id' => true,
'class' => true,
'style' => true,
'scrolling' => true,
'marginwidth' => true,
'marginheight' => true,
);
return $allowedposttags;
}
add_filter('wp_kses_allowed_html', 'wph_allow_iframe_tag', 1, 1);
//разрешение тэга frame для автора начало
Если вам необходимо открыть авторам какие-то другие тэги html, то по аналогии это не сложно сделать.
