hand-using-a-laptop-in-coffee-shop

19 февраля 2020 WordPress

Шорткоды — это PHP функции, которые можно вставлять в текст записи, страницы или другой таксономии WordPress. При желании шорткод может быть выведен и в шаблоне WordPress.

shortcode-1024x752-5534146

Как вставить шорткод в запись

Наверное самый распространённый шорткод [gallerγ] добавляет в текст записи галерею. Формируется автоматически из редактора WordPress. Выглядит он примерно так:

[gallerγ size="medium" ids="1,2,3"]

Как видите шорткод это по сути название функции, заключённое в квадратные скобки, в данном случае gallery, а size и ids это её параметры.

Обычно функции вызываются из ядра WordPress, плагинов или прямо из файла functions.php текущей темы. Далее рассмотрим как сделать собственную функцию шорткодом.

Создание шорткода

Шорткод регистрируется хуком add_shortcode(). Добавляем следующий код в файл functions.php:

function it-blog_site_name($atts){
        $blog_title = get_bloginfo('name');
        return $blog_title;
}
 
add_shortcode('echositename', 'it-blog_site_name');

Данный код регистрирует шорткод echositename, который будет выводить название сайта. Теперь попробуйте добавить шорткод [echositename] в текст записи и проверить.

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

Попробуем передать нашей функции несколько параметров site и sitename. Если они пусты, то будут выводится параметры по умолчанию.

function it-blog_site_name($atts){
        $params = shortcode_atts(array(
                'site' => 'https://it-blog.ru',
                'sitename' => 'ProgMeRu',
        ), $atts);
        
        return "{$params['site']} - {$params['sitename']}";
}
 
add_shortcode('echositename', 'it-blog_site_name');

Шорткод будет выглядеть так: [echositename site="https://it-blog.ru" sitename="ProgMeRu"]

В шорткоде передается URL и название сайта, а функция их возвращает.

Вывести шорткод в шаблоне

В файлах шаблона шорткод можно вывести с помощью WordPress функции do_shortcode():