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

Как написать свой шорткод для WordPress WordPress

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

WordPress – популярная платформа для создания веб-сайтов и блогов. Одной из важных возможностей WordPress является использование шорткодов (shortcodes), которые позволяют вам легко встраивать функционал или выводить содержимое на вашем сайте. В этой статье мы рассмотрим, как создать свой собственный шорткод для WordPress.

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

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

Давайте рассмотрим шаги по созданию своего собственного шорткода в WordPress.

Шаг 1: Создайте новый файл

Откройте рабочую директорию вашего темы WordPress и создайте новый файл с именем «shortcode.php». В этом файле мы будем писать наш код шорткода.

Шаг 2: Напишите код шорткода

В файле «shortcode.php» напишите следующий простой код шорткода:

function custom_shortcode() {
    return "Привет, это мой первый шорткод!";
}
add_shortcode('custom', 'custom_shortcode');

В этом примере мы создали функцию «custom_shortcode()», которая возвращает строку «Привет, это мой первый шорткод!». Затем мы использовали функцию «add_shortcode()» для регистрации шорткода с именем «custom».

Шаг 3: Подключите файл шорткода в вашу тему WordPress

Теперь, когда у вас есть файл «shortcode.php» с кодом шорткода, вам нужно подключить его в вашей теме WordPress. Для этого откройте файл «functions.php» вашей темы и добавьте следующую строку:

include 'shortcode.php';

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

Шаг 4: Используйте свой шорткод

Теперь вы можете использовать свой шорткод в любой записи или странице WordPress. Вставьте следующий код в нужное место в содержимом:

[custom]

Когда вы сохраните изменения и просмотрите страницу, вы увидите текст «Привет, это мой первый шорткод!».

Расширение функционала шорткода

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

function custom_shortcode($atts) {
    $args = shortcode_atts(array(
        'count' => 5,
    ), $atts);

    $posts = get_posts(array(
        'posts_per_page' => $args['count'],
    ));

    $output = '<ul>';
    foreach ($posts as $post) {
        $output .= '<li>' . $post->post_title . '</li>';
    }
    $output .= '</ul>';

    return $output;
}
add_shortcode('custom', 'custom_shortcode');

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

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

Как вставить шорткод в PHP или в тему WordPress

 В то же время, возникает вопрос о том, как вставить шорткоды WordPress в сам PHP-код или в шаблон сайта. Рассмотрим несколько способов вставки шорткодов в PHP-файлы или шаблоны WordPress.

Способ 1: Использование do_shortcode()

Первый способ заключается в использовании функции do_shortcode() в PHP-коде или шаблоне вашего сайта. Функция do_shortcode() предназначена для выполнения шорткодов и замены их содержимым. Вот как вы можете использовать эту функцию:

<?php echo do_shortcode('[your_shortcode]'); ?>

В данном примере функция do_shortcode() будет выполнять шорткод с именем «your_shortcode».

Способ 2: Вставка шорткода прямо в шаблон

Если вы хотите вставить шорткод непосредственно в шаблон, вы можете воспользоваться следующим кодом:

<?php echo "[your_shortcode]"; ?>

Просто вставьте нужный шорткод в кавычках и оберните его с помощью «<?php echo ?>» для вывода его на странице.

Способ 3: Использование функции get_shortcode_regex()

Если вы хотите вставить шорткод внутри сложного PHP-кода или внутри другого шорткода, вам может потребоваться использовать функцию get_shortcode_regex(). Эта функция позволяет найти шорткоды в строке и выполнить их. Вот пример:

<?php
$content = 'Текст с [your_shortcode] внутри.';
preg_match_all('/' . get_shortcode_regex() . '/s', $content, $matches);

if (!empty($matches[2]) && in_array('your_shortcode', $matches[2])) {
    echo do_shortcode($matches[0][0]);
}
?>

В этом примере мы использовали функцию preg_match_all() для поиска шорткодов в строке $content. Затем мы проверяем, содержит ли массив $matches название нашего шорткода «your_shortcode». Если да, то мы выполняем этот шорткод с помощью функции do_shortcode().

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

Оцените статью
SiteMaker
автор
Дамир Хасанов
Разработчик сайтов с большим опытом. Свой первый сайт создал в 2000 году. Эксперт по WordPress и Drupal. Множество успешных реализованных проектов.