чтение rss ленты

Nulls.su

Здесь обезаельно что то появиться 8)

Добавляем кнопку YouTube в панель редактирования записи

Добавляем кнопку YouTube в панель редактирования записи



Сейчас очень популярно после каждой статьи выкладывать разного рода полезности. Будь это жирные ссылки, интересные факты и даже видео. Первое мы можем организовать с помощью плагина, добавление интересных фактов не вызовет трудностей, так как это можно просто вставить в статью, отступив несколько строчек от конца статьи, а вот с добавлением видео, могут возникнуть небольшие проблемы, добавление специального кода. Сегодня я расскажу как автоматизировать вставку кода в статью – вставим кнопку для добавления видео Youtube в редакторе материалов.
Первое о чем нужно сказать – плагин
Внимание! У вас нет прав для просмотра скрытого текста.


При добавлении кода нашей кнопкой, он будет форматироваться в ссылку. Обработчиком ссылки и будет наш плагин.
Сильно в подробности вдаваться не буду, кратко объясню.
Открываем файл темы functions.php и добавляем код :

// Добавляем обработчик короткого кода для видео YouTube
    function addYouTube($atts, $content = null) {
            extract(shortcode_atts(array( "id" => '' ), $atts));
            return '<p style="text-align:center"> \
            <a href="http://www.youtube.com/v/'.$id.'"> \

            <img src="http://img.youtube.com/vi/'.$id.'/0.jpg" width="400" height="300" class="aligncenter" /> \
        <span>Смотреть видео</span></a></p>';
}
add_shortcode('youtube', 'addYouTube');


Он позволяет на страницах использовать код: [yuotube id=”123”], так же будет появляться картинка предварительно просмотра размером 400×300 выровненная по центру и ссылка на видео. А плагин Shadowbox загрузит видео прямо на странице, не переходя на сайт YouTube.
Следующим этапом будет добавление кнопки в панель редактирования.
В том же файле functions.php вставляем код (в самом низу перед тегом ?>) :

function add_youtube_button() {
       if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') )
         return;
   if ( get_user_option('rich_editing') == 'true') {
         add_filter('mce_external_plugins', 'add_youtube_tinymce_plugin');
         add_filter('mce_buttons', 'register_youtube_button');
   }
    }
add_action('init', 'add_youtube_button');


Данный код проверяет имеет пользователь право на редактирование, после идет проверка находится ли редактор в режиме редактирования. Далее идут фильтры загрузки кнопок.
Следующий код, который нужно добавить в functions.php:

function register_youtube_button($buttons) {
       array_push($buttons, "|", "brettsyoutube");
       return $buttons;
    }
function add_youtube_tinymce_plugin($plugin_array) {
       $plugin_array['brettsyoutube'] = get_bloginfo('template_url').'/custom/editor_plugin.js';
       return $plugin_array;
    }



Первая функция говорит, что сначала идут кнопки, потом разделитель и наша новая кнопка brettsyoutube. Следующая функция говорит о том что будет выполнять наша кнопка. А в нашем случае выполнять она будет функции из файла editor_plugin.js, который находится в папке custom.
Следующий код:

function my_refresh_mce($ver) {
      $ver += 3;
      return $ver;
    }

    add_filter( 'tiny_mce_version', 'my_refresh_mce');


выполняет роль перехватчика версии редактора и прибавляет к номеру версии 3.
Остается последний шаг. Нужно создать js файл, который и будет отвечать за функционал и оформление кнопки.
В Dremweaver или вашем редакторе создаете новый js файл и добавляете в него следующее:

(function() {
    tinymce.create('tinymce.plugins.YourYouTube', {
        init : function(ed, url) {
            ed.addButton('youryoutube', {
                title : 'youryoutube.youtube',
                image : url+'/youtube.png',
                onclick : function() {
                    idPattern = /(?:(?:[^v]+)+v.)?([^&=]{11})(?=&|$)/;
                    var vidId = prompt("YouTube Video", "Введите id или адрес url вашего видео");
                    var m = idPattern.exec(vidId);
                    if (m != null && m != 'undefined')
                        ed.execCommand('mceInsertContent', false, '[youtube id="'+m[1]+'"]');
                }
            });
        },
        createControl : function(n, cm) {
            return null;
        },
        getInfo : function() {
            return {
                longname : "YouTube Shortcode",
                author : 'Brett Terpstra',
                authorurl : 'http://brettterpstra.com/',
                infourl : 'http://brettterpstra.com/',
                version : "1.0"
            };
        }
    });
    tinymce.PluginManager.add('youryoutube', tinymce.plugins.YourYouTube);
})();


сохраняете, назвав именем editor_plugin.js. Заметьте что картинка image : url+’/youtube.png’, должна располагаться там же, где и файл editor_plugin.js.
Ну вот и все, теперь с нашей новой кнопкой без проблем можно вставить видео.
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Другие новости по теме:
 (голосов: 0)
  • Просмотров: 740
  • Комментариев: 0

Комментарии к статье

Если Вам понравилась эта статья или не понравилась напишите об этом в комментариях
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Переместиться наверх

nulls.su

Внимание, вся информация размещена на сайте пользователями, поэтому владельцы сайта не несут ответственности за правдивость, валидность, степень контрафактности. Если вы считаете что информация размещена неправомерно, сообщите пожалуйста в службу поддержки и информация будет незамедлительно удалена. Вся информация размещена на основании соглашения
Шаблон разработан студией CENTROARTS