dimayakovlev.ru


Разработка и подключение шорткодов с использованием плагина gs_shortcodes в GetSimple CMS

Плагин gs_shortcodes для системы управления контентом GetSimple CMS включает в себя набор шорткодов, доступных для использования сразу после установки, а также шорткоды, служащие для демонстрации и расширения возможностей использования плагина. Однако на практике, при работе над проектом веб-сайта, возникает потребность в дополнительных шорткодах, позволяющих реализовать требуемые функциональные возможности разрабатываемого веб-сайта. Именно поэтому разработчику необходимо понимать принцип создания собственных шорткодов.

В целом процесс создания собственных шорткодов может быть разделён на два этапа:

  1. написание кода, выполняющего требуемую задачу;
  2. выбор варианта подключения кода для регистрации и использования шорткода в системе.

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

При написании функции, вызываемой шорткодом, следует предусмотреть обработку передаваемых ей параметров:

  • Ассоциативный массив параметров и их значений, переданных в вызове шорткода;
  • Строка с содержанием шорткода.

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

  1. Название шорткода, которое будет использоваться для его вызова;
  2. Имя функции, вызываемой шорткодом;
  3. Описание вызова шорткода, которое будет выводиться в списке зарегистрированных в системе шорткодов, а также использоваться при вставке шорткода в редакторе содержания страницы.

В качестве наглядного примера можно рассмотреть создание собственного шорткода colorize, позволяющего задать при помощи параметра color цвет текста, переданного в содержании шорткода.

/**
 * Функция, вызываемая шорткодом colorize
 *
 * @param array $attr
 * @param string $content Содержание шорткода
 *
 * @return string
 */
function shortcode_colorize($attr, $content) {
  if ($content && isset($attr['color'])) {
    $content = '<span style="color: '.$attr['color'].'">'.$content.'</span>';
  }
  return $content;
}

# Регистрация шорткода colorize в системе
add_shortcode('colorize', 'shortcode_colorize', '[colorize color="" ]content[/colorize]');

Подключение кода шорткодов может быть выполнено следующими способами:

  1. Внесение изменений в основной файл шорткодов плагина gs_shortcodes /plugins/gs_shortcodes/shortcodes.php;
  2. Подключение шорткодов из файла shortcodes.php темы оформления;
  3. Разработка плагинов.

Для выбора наиболее подходящего, в зависимости от стоящей задачи, необходимо рассмотреть отдельно каждый из перечисленных способов. При внесении изменений в основной файл шорткодов плагина gs_shortcodes, код собственных шорткодов может быть добавлен непосредственно, либо подключён в основной файл из внешнего файла. Однако при обновлении плагина gs_shortcodes произойдёт перезапись файла /plugins/gs_shortcodes/shortcodes.php и код добавленных шорткодов будет потерян. Поэтому, при использовании описанного способа добавления собственных шорткодов, важно следить за созданием и сохранностью резервных копий веб-сайта. Подключение шорткодов из файла shortcodes.php темы оформления, следует использовать в случаях необходимости распространения специальных шорткодов, используемых совместно с этой темой оформления. Важно понимать, что добавленные таким способом шорткоды, будут доступны для использования только тогда, когда, содержащая их тема оформления, используется в качестве текущей темы оформления веб-сайта.

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

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