WebTutorWordPressШорткоды WordPress — как создать свой собственный шорткод

Шорткоды WordPress — как создать свой собственный шорткод

Шорткоды WordPress — это отличный инструмент, который позволяет создавать любой сложный контент без тегов и других механизмов. Шорткоды легко интегрируются в контент и удобны в применении. Можно также создавать хуки, которые позволят другим разработчикам интегрировать шорткоды.

Основы шорткодов

Для создания шорткода применяют функцию add_shortcode(), которая позволяет определить слово (имя шорткода) или функцию, которая будет обрабатывать выведение шорткода. Первый параметр этой функции будет проверяться редактором записей, и все, что будет найдено, будет обработано заданной функцией, для обработки шорткодов, которая задана во втором параметре.

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

function shortcode_hello( $atts ){
  $time = ( date('G') < 9 ) ? "good morning" : "good day";
	return $time . "mr. Admin";
}
add_shortcode( 'hello', 'shortcode_hello' );

Для применения этого шорткода в контенте, нудно просто ввести [hello] без пробелов внутри скобок. В нашем случае, если в контенте страницы будет где-то находиться [hello] — то вместо этого кода будет выведено то, что отправит функция shortcode_hello() через return. Запомните, нужно использовать именно return а не echo.

Добавление параметров шорткоду

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

// Usage: 
// [colorblock color='ff9900']
// Creates a small color swatch

function shortcode_colorblock( $atts ){
    $atts = shortcode_atts( array(
        'color' => '000000',
    ), $atts, 'colorblock' );
    
    return "

<div class='swatch' style='height:22px; width:50px; display:inline-block; color:#" . $atts['color'] . "'></div>";
}
add_shortcode( 'colorblock', 'shortcode_colorblock' );

В примере использовалась функция shortcode_atts() — она нужна для объединения значения параметра заданного по умолчанию и переданного. Она должна применяться всегда, когда используются параметры, так как именно эта функция делает атрибуты доступные для хуков.

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

В WordPress есть функция, которая позволяет использовать шорткоды не только в контенте, но и в шаблонах, в коде HTML и PHP. Эта функция называется do_shortcode(). Вот так ее применяют:

<?php echo do_shortcode( '[ gallery ids="3,14,423" columns="3" ]' ) ?>

Примечание: Пробелы возле скобок [ и ] нужно убрать.

Шорткод не должен содержать пробелы внутри возле скобок. Таким образом, шорткоды позволяют легко встраивать контент в любые участки текста или шаблонов.

Просмотров: 92

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

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

Технологии WEB

CMS

Расширения

Сервисы