Хак: Вставить любой html код в редакторе записей

Иногда хочется расширить стандартный редактор текста (как визуальный, так и его крайне полезную вкладку HTML) lля того, чтобы получить возможность добавлять определенные теги или аттрибуты к записи (в том числе и на пользовательских сайтах). Зачастую проблему такую можно решить с помощью плагинов, но я решил предложить вам более интересное и гибкое решение –  можно добавить в файл functions.php темы код, написанный ниже.

global $allowedposttags;
foreach($allowedposttags as $tag => $val){
    $allowedposttags[$tag]['id'] = array();
    $allowedposttags[$tag]['class'] = array();
}

Этот код для всех уже существующих html-тегов (например, для тега div или р) добавит поддержку аттрибутов id и class. Таким же образом вы можете добавить любые другие из тех, что вам необходимы.

Если же вы хотите добавить что-то совсем экзотичное, то прописываете следуюший код:

global $allowedposttags;
$allowedposttags['iframe']['width'] = array();
$allowedposttags['iframe']['height'] = array();
$allowedposttags['iframe']['src'] = array();
$allowedposttags['iframe']['frameborder'] = array();
$allowedposttags['iframe']['allowfullscreen'] = array();

Код выше позволит вам вставить iframe внутрь поста. Это может быть видео с ютуба или что-то совсем другое.

Я думаю, что вы уже поняли идею. Вся соль в использовании этой глобальной переменной $allowedposttags.

комментариев 7

  1. Валерий:

    Если у меня сеть сайтов, то надо вставлять код в functions.php каждой темы, чтобы это работало на пользовательских сайтах?

    • Ну да.
      Можно еще попробовать создать папку /wp-content/mu-plugins/, а в ней – любой php файл, в который и вставить этот код. Тогда должно сработать сразу для всей сети – одним махом.

      • Валерий:

        Я поставил плагин Unfiltered MU. У меня нет открытой регистрации, так что безопасность сети сильно не нарушится, как предупреждают разработчики плагина.

  2. А у меня iframe с ютуба и так нормально давно вставляется. Что я делаю не так? У меня нет ни одного плагина для вставки видео.

    • На обысном WP проблем нет. На WPMS – есть. И iframe я привел просто как пример, чтобы показать, каким образом добавить любой html тег.

      • WPMS – мультисайт? у меня 2 сайта. Один wp + блоги с именами в сайт/имя А второй бадди с блогами и форумами имена имя.сайт.ру Видео вставляется без проблем. Когда то использовал какой то плагин, уже не помню. Но уже довольно давно прямо код. А после обновлений слета или весны и iframe нормально вставляется. Было дело, что не шел. Я не фрейму придираюсь. Просто в тексте сказано что так можно вставлять видео. Вот я и удивился может у меня что не так или народ не просек обновления

        • Валерий:

          Были проблемы на блогах у пользователей. Суперадмины всегда всё везде вставляли без проблем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *