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

Опубликовано: 2022-12-05

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

Что такое шорткод?

Представленный с выпуском Shortcode API из WordPress 2.5, шорткод позволяет добавлять функции с минимальными усилиями, которые обычно требуют большого количества сложного кода всего в одной строке в квадратных скобках, например [thisone] . Раньше многие плагины WordPress предлагали шорткоды, чтобы радикально упростить процесс отображения результата сложной функции. Например, популярный плагин электронной коммерции, такой как WooCommerce, также имеет несколько готовых шорткодов, которые могут быть очень полезны для любого владельца магазина, использующего эту платформу.

Однако с тех пор, как редактор блоков (Gutenberg) заменил классический редактор, многие плагины начали предлагать блоки, так как это проще и имеет приятную визуальную компоновку. Но, если у вас есть знания в области кодирования или у вас есть код для добавления дополнительных функций на ваш сайт, использование шорткодов по-прежнему остается одним из лучших вариантов, которые вы можете попробовать! И вы можете прочитать нашу предыдущую статью о добавлении примерного времени чтения к вашим сообщениям в блоге с помощью шорткода в Gutenberg, Elementor и Divi.

В этом уроке мы покажем вам, как создать шорткод в WordPress.

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

Перед созданием шорткода мы рекомендуем сделать резервную копию вашего сайта и использовать дочернюю тему, чтобы избежать поломки родительской темы или потери ваших изменений при обновлении темы, поскольку мы добавим код в файл functions.php темы. Чтобы открыть файл, перейдите в « Внешний вид» « Редактор файлов темы» на панели администратора WordPress. На появившейся странице нажмите « Функции темы» ( functions.php ) в списке « Файлы темы» , чтобы открыть редактор файлов.

Кроме того, вы можете создать отдельный файл PHP в папке вашей темы (в большинстве случаев расположенной в wp-content themes «Ваша тема» ) с именем myshortcodes.php .

После того, как вы создали файл, вы можете добавить столько кодов и коротких кодов, сколько хотите, между разделителем PHP ( <?php ?> ) в этом файле. Затем вам просто нужно добавить одну строку кода в конец файла functions.php вашей темы, чтобы указать системе включить любые изменения, которые вы вносите в файл шорткода. И код выглядит следующим образом:

 включить('myshortcodes.php');

Шаг 1: Подготовьте код

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

  • «1 минута чтения (количество слов 121)»

Поместите следующий код внизу вашей темы functions.php

 функция read_time() {
$content = get_post_field('post_content', $post->ID);
$word_count = str_word_count( strip_tags( $content ) );
$readingtime = ceil($word_count/260);
$wcounttext = "(количество слов ". $word_count .")";
если ($ время чтения == 1) {
$timer = "минута чтения";
} еще {
$timer = "прочитано минут";
}
$общее время чтения = $время чтения. $таймер . $всчеттекст;
вернуть $общее время чтения;
}

Шаг 2: Создайте базовый шорткод

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

  • Используйте add_shortcode( string $tag, callable $callback ) для добавления шорткода, тогда как $tag — это ваше имя шорткода для поиска в содержимом публикации, а $callback — для вызова подготовленного вами кода.
  • Имена шорткодов должны быть написаны строчными буквами (допускаются цифры и символы подчеркивания).
  • Избегайте использования дефиса (-)
  • Добавьте префикс, чтобы сделать имя вашего шорткода уникальным, чтобы избежать конфликта с шорткодом другого плагина.

Когда вы будете готовы, создайте шорткод для своего кода с помощью функции add_shortcode и добавьте имя шорткода и обратный вызов для вашего кода в параметр функции, как в следующем примере:

 add_shortcode('wpbread', 'reading_time');

Приведенный выше шорткод предназначен для примерного кода времени чтения из шага 1. Мы используем 'wpbread' для имени шорткода и обратный вызов 'reading_time' который является нашим именем функции кода после. Продолжите, добавив приведенный выше код сразу под кодом, который вы подготовили на шаге 1, в файл functions.php или в свой собственный файл PHP, а затем сохраните внесенные в него изменения.

Шаг 3: Использование шорткода

Как только шорткод будет готов, в нашем случае это [wpbread], теперь давайте попробуем вызвать его в одном из ваших сообщений, добавив шорткод прямо над контентом или в любом месте, которое вы выберете для его отображения в редакторе контента.

Теперь давайте посмотрим на результат внешнего интерфейса, предварительно просмотрев или опубликовав сообщение.

Как вы можете видеть на снимке экрана выше, прямо над нашим контентом есть расчетное время чтения, которое говорит « 11 минут чтения (количество слов 2775) » для статьи, которую мы написали.

Нижняя линия

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

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