WordPress: простой шорткод

· WordPress, Разработка плагинов и Шорткоды · 1 мин чтения

В этой записи поговорим о том, как создать простой шорткод в плагине или теме, а так же рассмотрим как его удалить.

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

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

<?php
add_shortcode(
    string $tag,
    callable $func
);

В теме:

<?php
function bologer_shortcode($atts = [], $content = null)
{
    // делайте что-то с $content
 
    // и возвращайте
    return $content;
}
add_shortcode('bologer', 'bologer_shortcode');

[bologer] — это ваш новый шорт код. Используя этот шорткод, вы запустите функцию bologer_shortcode().

В плагине

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

В таком случае, лучше всего использовать хук init.

<?php
function bologer_shortcodes_init()
{
    function bologer_shortcode($atts = [], $content = null)
    {
        // делаем что-то с $content
 
        // и возвращаем
        return $content;
    }
    add_shortcode('bologer', 'wporg_shortcode');
}
add_action('init', 'bologer_shortcodes_init');

Удаляем шорткод

У вас конечно же есть возможность удалить шорткод, сделать это можно с шорткод API. Процесс включает в себя регистрацию $tag в remove_shortcode().

<?php
remove_shortcode(
    string $tag
);

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

Проверка на существование шорткода

Проверить существование шорткода можно функцией shortcode_exists().