WordPress: Шорткоды с параметрами

WordPress: Шорткоды с параметрами

В то время как простые шорткоды решают большинство задач по выводу сложного содержимого на странице, позволяя ввести для этого всего лишь несколько символов в редакторе поста, но на самом деле шорткоды, были бы еще более полезными, если бы могли передавать их функциям-обработчикам параметры, какие мы захотим. И такая возможность у нас есть!

Используя эту технику, становится очень легко создать шорткод, который например ускоряет вставку кода какого-нибудь проигрывателя в тело поста или страницы, нужно только указать шорткод и уникальный идентификатор медиа элемента для отображения. Вместо того, что бы каждый раз прописывать длинный HTML код.

Итак, мы создадим шорткод, который будет использоваться для быстрого добавления кода видео-проигрывателя с YouTube в тело поста или страницы.

  1. Перейдите в директорию плагинов движка WordPress: wp-content/plugins
  2. Создайте там новую директорию и назовите её youtube-embed
  3. Зайдите внутрь директории и создайте новый текстовый файл. Назовите его youtube-embed.php
  4. Откройте ваш новый файл в текстовом редакторе и добавьте следующий код:

     

    <?php

    /*

        Plugin Name:    YouTube Embed.

        Plugin URI:

        Description:    Этот плагин позволяет добавлять шорткод видео с YouTube [youtubevid]

        Version:        1.0

        Author:         Самый лучший автор

        Author URI:     http://xxxxxxx.xx/

        License:        GPLv2

    */

  5. Присоединим функцию-обработчик youtube_embed_shortcode к шорткоду youtubevid:

    add_shortcode('youtubevid', 'youtube_embed_shortcode' );

  6. Далее реализуем функцию обработчик:

     

    function youtube_embed_shortcode( $atts )

    {

        extract( shortcode_atts( array(

            'id' => ''

        ), $atts ) );

     

        return '<iframe width="560"

        height="315" src="http://www.youtube.com/embed/' . $id . '"

        frameborder="0" allowfullscreen></iframe>';

    }

  7. Сохраняем файл
  8. Идем в админку нашего сайта во вкладку Plugins
  9. Находим наш плагин в списке и активируем его
  10. Создайте новую страницу или пост и разместите в текстовом редакторе следующее содержимое (n-M41MYVODg — идентификатор видео на YouTube):

    [youtubevid id='n-M41MYVODg']

  11. Сохраните изменение.

Теперь если просмотреть то, что мы только что создали на сайте то мы сможем увидеть видеоплеер с видео с YouTube.

Как это работает…

Если шорткод используется с параметрами, то эти параметры, передаются в функцию-обработчик как массив пар ключ-значение ($atts). С помощью комбинации стандартной PHP функции extract и WordPress функции: shortcode_atts, мы в итоге извлекаем данные из массива. В этом конкретном примере мы используем только одну переменную $id, но на самом деле параметров шорткода может быть сколько угодно.

После того, как мы получили ID видео внутри функции ($id), мы можем собрать необходимый HTML код, который будет вставлять и отображать выбранный видео-файл в видео плеере в теле поста или страницы. Незабываем вернуть результат работы функции при помощи инструкции return.

 

Возможно Вас заинтересуют эти материалы

WordPress: Парные шорткоды

Помимо простых шорткодов в WordPress доступны так же парные или охватывающие шорткоды. Используя синтаксис на

WordPress: Простые шорткоды

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

WordPress: Отлов ошибок при разработке плагинов

Этот рецепт продемонстрирует приемы для выявления и устранения ошибок при создании плагина, который будет скрывать