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

wp-shortcode
Вы видели ранее одиночные шорткоды, такие как [myshortcode]. API также поддерживает парные шорткоды, например

[myshortcode] содержимое [/myshortcode]

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

is_null( $content ) может быть использована для различия одиночных и парных шорткодов.

Когда контент обрамлен, эта конструкция с шорткодом является макросом и включая его контент будет заменена на вывод функции. Ответственность функции обработчика в обеспечении любого необходимого экранирования или шифрования необработанного контента и включения его на выходе.

Вот простой пример парного шорткода:

Использование шорткодов внутри других шорткодов

Парсер шорткода использует один проход по содержанию записи. Это означает, что если параметр $content обработчика шорткода содержит другой шорткод, то он не будет разобран:

[captionn]Заголовок: [myshortcode][/captionn]

Получится:

Заголовок: [myshortcode]

Если парный шорткод намерен разрешить другим шорткодам влиять на вывод, то функция обработчика может вызвать do_shortcode() рекурсивно:

В предыдущем примере, это гарантирует, что [myshortcode] макрос в обрамленном контенте обработается:

Заголовок: Результат обработчика функции myshortcode

Навигация по разделам:

Оставить комментарий

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