Как вставить код на сайт wordpress

В PHP документе

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

То есть в нашем случае получится такая картина:

Хочу разместить форму обратной связи под постами. Какой файл у вас отвечает за вывод того или иного элемента предсказать не могу. В моем случае content-single.

Куда вставлять PHP

  1. Заходим в редактор тем
  2. Находим файл в который необходимо вставить информацию
  3. Определил, что блок вывода контента это div с классом entry-content, и перед закрывающим тегом прописал функцию
  4. Обновляем страницу и смотрим, элемент отобразился где нужно, под контентом.

Обратная связь под контентом

Вводная часть

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

Каждый, кто достаточно близко знаком с WordPress неоднократно встречался с понятием «произвольные поля» и с их помощью решал некоторые нетривиальные задачи.

Произвольные поля в WordPress — очень удобный инструмент, когда нужно «прикрепить» к конкретному посту какие-либо дополнительные данные. Такими данными может быть что угодно, начиная от логических true/false (1/0), заканчивая объемными текстами, массивами и прочим. К примеру, мы можем создать новое произвольное поле Title и в его значение написать текст (альтернативный заголовок поста), затем в коде шаблона использовать следующий код, чтобы вывести этот текст:

<?php echo get_post_meta($post->ID, 'title', true); ?>

Следует отметить, что функцию get_post_meta() можно использовать за пределами Цикла WordPress, т.е. где угодно в шаблоне. В данном примере мы используем её в части документа, чтобы дать html странице заголовок отличный от заголовка самой статьи (иногда полезно для SEO).

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

Мало кто знает, что если создать произвольное поле ключ которого (название) начинается на _ (нижнее подчеркивание), например _my_special_key, то такое поле не будет выводиться в выпадающем списке произвольных полей при редактировании постов и будет считаться «внутренним» произвольным полем, которое используется системой. Создать такое поле можно только запросом к БД, например, используя функции add_post_meta() или update_post_meta().

Лучший способ добавить код в шапку и подвал WordPress-сайта

Существует три способа, с помощью которых можно добавить код в шапку и подвал WordPress-сайта:

  1. Путем редактирования файлов header.php и footer.php используемой темы оформления.
  2. Через встроенный функционал темы оформления.
  3. С помощью плагина.

Первый вариант не подходит для начинающих, так как он подразумевает непосредственное редактирование кода файлов header.php и footer.php вручную. Кроме этого при обновлении используемой темы оформления добавленный в нее пользовательский код будет удален.

Некоторые темы оформления WordPress, такие как Elegant Themes и Genesis Framework от StudioPress, предоставляют функционал для быстрого добавления кода в шапку и подвал. Но если изменить тему, то исчезнут все сниппеты, добавленные на сайт.

Поэтому мы всегда рекомендуем использовать плагин. Это самый простой и безопасный метод. Для этого был создан бесплатный плагин Insert Headers and Footers.

Преимущества использования плагина Insert Headers and Footers:

  1. Позволяет легко и быстро добавлять код в шапку и подвал сайта. А также помогает упорядочить элементы, так как хранит все элементы кода шапки и подвала сайта в одном месте.
  2. Помогает предотвратить ошибки, которые могут возникнуть при редактировании файлов темы оформления вручную.
  3. Плагин хранит код шапки и подвала сайта в отдельном месте. Поэтому можно безопасно обновлять или менять тему оформления.

Что такое файл functions.php и зачем он нужен?

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

Следовательно, с помощью файла functions.php вы можете решить целый спектр абсолютно разных задач:

  • Наиболее простой вариант — изменение внешнего вида темы. Вспоминаются сразу хаки для ссылки читать далее где можно влиять на вид линка «read more» и формат анонса.
  • Определение своих функций дабы позже вызывать их в других файлах шаблона, что экономит время на внедрение изменений на сайте (да, и вообще является нормальным принципом в программировании). Например, функция отображение первой картинки поста, которую после определения можно использовать в файлах темы для категорий, тегов, архивов.
  • Настройка админки под себя — скрытие определенных пунктов из меню, изменение разных параметров отображения для других пользователей и т.п. Сразу вспоминается статья про скрытие custom fields для не админов. Также с помощью functions.php в WordPress можно создать специальную страницу настроек темы.
  • Переопределение каких-то параметров системы — изменение размеров миниатюр для шаблона, а также разного рода хаки и фильтры. Например, с помощью данного файла можно подправить отображение комментариев в wp_list_comments.

Вообще файл functions.php в WordPress по логике и скорости работы напоминает плагины. Хотя при этом у них есть принципиальные отличия. Модули используются, как правило, для решения каких-то конкретных задач и применяются к любой теме вашего сайта. Плюс для работы их нужно активировать. Что касается файла шаблона functions.php, то он может содержать много разных функций и выполняется только для той темы, в которой определен. То есть при смене шаблона, все ваши текущие наработки будут отключены, а система начнет считывать информацию из другого файла функций (об этом следует помнить).

В чём суть проблемы?

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

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

Поэтому правильнее добавлять код в head только для отдельной страницы, где он непосредственно и сработает. На других страницах его не будет, и на скорость сайта он не повлияет.

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

Я столкнулся с этой проблемой, когда зарегистрировался в партнёрской сети Яндекс Маркета. Там можно создавать блок для любого товара и вставлять его на свою страницу. Это очень удобно для обзорных статей, так как в этом блоке сразу показываются свежие цены и адреса магазинов. Можно вывести отзывы или, например, характеристики.

Для вывода рекламного блока в статье там нужно вставить на страницу два типа кода. Вот, смотрите, какой огромный блок надо добавить в блок head, и какой маленький – собственно в текст. Для каждого блока первый код разный – вот в чём проблема.

Если у меня будет хотя бы десяток обзорных статей, и я добавлю код каждого товара в шаблон, у меня весь сайт станет тормозить, а в итоге потеряет позиции и посещаемость. Поэтому и возникла необходимость в добавлении только нужного кода в head, и только на отдельной странице – там, где будет использоваться конкретный рекламный блок. А где его не будет, там ничего и не добавлять.

Решение я нашёл быстро, это достаточно удобный плагин, который полностью решает возникшую проблему.

Вставить напрямую в шаблон

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

С помощью функций темы

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

Раздел Code Editor

  1. Нашел где можно прописать шорткод
  2. Вижу, что на предварительно просмотре форма работает
  3. Если все устраивает, то нажимаю опубликовать

Далеко не все темы поддерживают вставку текста в разные части документа. Если такой области нет, то переходим к следующему пункту.

Чтобы не было ошибок, учитывайте 4 момента:

Пример, у нас была такая структура:

<?php ........здесь код.........
?>

Если Вы добавили php код так, то это вызовет ошибку или, что еще хуже, белый экран, когда показ ошибок отключен:

<?php ........здесь код.........
   <?php
   ...... здесь добавленный код ........
   ?>
........здесь код.........
?>

Правильно так:

<?php ........здесь код.........

   ........ здесь добавленный код ........

........здесь код.........
?>

Такой код вызовет ошибку:

<?php ...... здесь код ........
?><?php ...... здесь добавленный код ........
?>

А этот нет:

<?php ...... здесь код ........
?><?php ...... здесь добавленный код ........
?>

Логичнее его записать так:

<?php ...... здесь код ........

 ...... здесь добавленный код ........
?>

Бывает что перенос строки ставят в самом конце functions.php, вот тогда это становится настоящей проблемой, потому что все казалось бы правильно, но сайт не работает. На самом деле после ?> или  до <?php присутствуют невидимый символ переноса строки \n. Выглядит такая ошибка, крайне безобидно, вот так:

<?php ... начало файла ...
  ...... здесь код ........
... конец файла ...
?>
здесь пустая строчка

По этой причине многие разработчики вообще удаляют закрывающий тег ?>, это допустимо для PHP. Рекомендую всегда делать именно так:

Ошибки в functions.php при вставке кода

Неоднократно встречал вопросы об ошибках, вроде: «После установки кода в файл сайт перестал работать — белый экран. Что делать?». Я и сам с подобным сталкивался когда-то.

Для меня некоторые решения этой проблемы, долгое время, оставались загадкой — вроде ничего не делал, и даже танца с бубном не было, но — раз и все заработало. Почему так происходит? Давайте рассмотрим возможные ситуации из-за которых может «ломаться» сайт и их объяснение:

  1. Вставляете готовый код — сайт перестает работать.

  2. Редактируете functions.php — сайт перестает работать.

Чаще всего, дело в открывающем и закрывающем тегах PHP и  . Обычно, если вставляемый код имеет в начале и в конце эти теги, то их нужно удалить. Также, файл functions.php не должен выводить на экран никакой текст (HTML код или другой контент). Вывод текста допускается только внутри функции, которые в дальнейшем будут использоваться в шаблоне или которые прикрепляются к хукам (подробнее см. ниже).

Нельзя допускать никаких символов до или после , в том числе невидимые символы (перенос строки), потому что functions.php подключается до установки http заголовков (в таких заголовках передаются различные данные, например, что это html документ; что кодировка utf-8 другое). По правилам PHP, контент должен выводится на экран после того, как отправлены заголовки. А все что за пределами и это и есть контент — текст выводимый на экран, даже невидимый символ \n. Поэтому такой текст вызывает ошибку.

Подключаем тему в админку

Чтобы тема заработала и появилась в админке WordPress, надо в самом верху файла записать следующие строки:

/*
Theme Name: Simple Factorial
Theme URI: //www.quackit.com/html/templates/download/bryantsmith/SimpleFactorial/
Author: Bryant Smith
Author URI: //www.quackit.com/
Description: Simple Factorial is the same as Simple * Simple-1 * Simple-2 * Simple-3 ; or in other words, a whole lot of simple. This template is meant to be really simple to use, and really simple to naviagate. It should also do well with search engines for that reason.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: //www.gnu.org/licenses/gpl-2.0.html
*/

Плагин для исполнения PHP в контенте Exec-PHP

Несмотря на то, что этот плагин не обновлялся уже 7 лет, он прекрасно справляется с обязанностями. И я его выбрал не просто так – он не использует никаких шорткодов, как конкуренты, а дает возможность вставлять в записи WordPress код в чистом виде, начиная с <?php и заканчивая ?> .

Плагин Exec-PHP есть в репозитарии и устанавливается через меню в админке движка.

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

Для вставки PHP кода в статью, редактор WordPress должен быть переведен в HTML режим (вкладка «Текст»). Визуальный режим, скорее всего, код попортит.

Рекомендую делать так: наполняем и настраиваем страницу в визуальном редакторе, когда все готово – переключаем в текстовый и добавляем исполняемый код – сохраняем.

Плагины для PHP в виджетах

Данная категория плагинов либо разрешает применение кода в стандартном текстовом виджете, либо создает специализированный тип виджета.

В моем примере выше, я делаю сайт для клиента и, если он захочет самостоятельно сменить дизайн, то пропадут настройки, которые сделаны через файлы functions.php и др., поэтому я максимально упрощаю ему управление сайтом, опираясь на плагины (тем более, в его нише трафик невелик и нагрузки много не будет).

PHP Code Widget

Этот плагин я давно использую в своей работе, он добавляет в список доступных виджет, похожий на обычный текстовый, только способный обрабатывать кроме текста и HTML еще и PHP.

PHP Code Widget присутствует в официальном репозитарии WordPress, легко находится по названию. Как устанавливать такие плагины .

Настроек не требуется, виджет в списке появится сразу после установки и активации плагина. В сайдбар перетаскиваете «PHP Code» и добавляете туда любой скрипт.

Условные теги (остальные)

Все Условные теги

if( is_user_logged_in() ){
	// юзер авторизован
}
  • is_user_logged_in()Авторизован ли пользователь
  • have_comments()Есть ли на странице комментарии для вывода
  • comments_open()Открыто ли комментирование у записи
  • has_category()Находится ли запись хоть в одной из рубрик
  • has_tag()Находится ли запись хоть в одной из меток
  • has_term()Находится ли запись хоть в одном термине таксономии
  • has_excerpt()Есть ли у текущего поста отрывок (цитата, короткое описание)
  • is_nav_menu()Существует ли меню (указываем ID, слаг или название)
  • has_nav_menu()Имеет ли зарегистрированная область меню прикрепленное меню
  • has_shortcode()Есть ли в переданном тексте указанный шоткод
  • shortcode_exists()Зарегистрирован ли указанный шоткод
  • in_category()Находится ли пост в рубрике
  • in_the_loop()Находимся ли мы в цикле перебора записей
  • is_active_sidebar()Есть ли в области для виджетов есть хоть один виджет
  • is_child_theme()Используется ли дочерняя тема
  • is_dynamic_sidebar()Включены ли сайдбары для темы и есть ли хоть один виджет
  • is_local_attachment()Является ли переданный URL страницей вложения
  • is_main_query()Выполняется ли действие в главном цикле WordPress
  • is_multisite()Включен ли режим Мультисайт
  • is_new_day()Отличается ли текущая дата от предыдущей (в цикле)
  • is_post_type_hierarchical()Является ли тип записи древовидным
  • is_taxonomy_hierarchical()Древовидная ли таксономия
  • is_sticky()Является ли запись прилепленной
  • pings_open()Разрешено ли записи получать пинги
  • post_exists()Есть ли запись с указанным заголовком (post_title)
  • taxonomy_exists()Существует ли указанная таксономия
  • post_password_required()Защищена ли запись паролем и правильный ли пароль
  • term_exists()Существует ли элемент таксономии (вернет ID терма)
  • cat_is_ancestor_of()Дочерняя ли рубрика к другой (все уровни вложенности)
  • term_is_ancestor_of()Дочерний ли термин к другому (все уровни вложенности)
  • wp_attachment_is()Является ли вложение: картинкой, аудио или видео
  • wp_attachment_is_image()Является ли запись вложением-картинкой
  • is_header_video_active()Нужно ли показать видео заголовка на странице
  • has_custom_header()Установлена ли картинка/видео для шапки темы
  • wp_is_mobile()С мобильного ли устройства просматривается сайт
  • wp_is_post_autosave()Является ли запись авто-сохранением
  • wp_is_post_revision()Является ли запись ревизией (редакцией)

Вставка HTML-кода при помощи редактора

Для расширения возможностей встроенного редактора WordPress необходимо обязательно установить плагин TinyMCE Advanced. После его установки Вы заметите практически тотальное преображение редактора. Плагин устанавливается из админки (Плагины → Добавить новый). На открывшейся странице нужно ввести поисковый запрос, установить и активировать обнаруженный плагин:

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

Теперь в редакторе TinyMCE реализовано два варианта публикации кода:

  1. Для выделения участка кода используется тег CODE ();
  2. Участок кода, подготовленный для демонстрации, обрамляется тегами PRE ().

Вариант №1

Для публикации и показа кода при помощи тега CODE, необходимо вставить нужный участок кода в редактор на вкладке Визуально. Ничего в коде изменять не следует. Выделить код мышкой и в редакторе нажать на значок КОД:

Альтернативный вариант: пройти по пути Форматы → Строки → Код:

В результате произведенных действий исходный код принимает другой формат текста (на содержание кода не обращайте внимание, он взят для образца) :

Вариант №2

Как мы уже знаем, редактор позволяет демонстрацию кода в поле тега PRE. Для этого так же вставляем участок кода без изменений, выделяем его мышью и в редакторе проходим по пути: Форматы → Блоки → Отформатированный:

В результате код выделяется примерно таким образом:

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

Плагин Google Analytics Dashboard for WP (GADWP)

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

Модуль Google Analytics Dashboard for WP имеет более миллиона загрузок и является одним из самых скачиваемых в Вордпресс. Упоминание о его разработчиках в качестве партнеров я нашел на официальном сайте Google Analytics, — думаю это хороший признак. Также у данного решения весьма хорошая оценка, не смотря на большое число доработок.

После активации плагина у вас появится новый раздел Google Аналитика в WordPress админке с несколькими пунктами:

  • Общие настройки — привязка своего аккаунта Google Analytics к текущему сайту.
  • Бекэнд — параметры отображения статистики внутри системы.
  • Фронтэнд — можно показывать отчеты прямо на страницах проекта (актуально если вы не убрали верхнюю панель WordPress у пользователей).
  • Код отслеживания — набор разных дополнительных опций аналитики.
  • Ошибки и отладка (если что-то пошло не так).

Процедура авторизации

Первым делом для работы вам нужно пройти авторизацию:

  1. Она выполняется в разделе модуля «Общие настройки» — переходите туда.
  2. Кликаете по кнопке «Авторизация плагина», после чего появится следующая страница:

  1. Здесь нажимаете на ссылку «Получить код доступа» — в браузере откроется запрос на предоставление доступа к вашему аккаунту в Google Analytics. Подтверждаете его и затем увидите специальный код.
  2. Вставляете его в соответствующее поле (см. скриншот выше) и жмете «Сохранить».
  3. Если сделали все правильно, увидите список подключенных площадок в Analytics, из которых следует выбрать нужный вам сайт. Еще раз сохраняете все изменения.

Возможности GADWP

Теперь вы сможете редактировать настройки в WordPress плагине Google Analytics непосредственно в админке. Советую пройтись по всем пунктам модуля. По умолчанию в Консоли появится новый виджет статистики:

Если зайти в пункт меню «Код отслеживания», то там будет несколько вкладок с интересными фишками.

Здесь можно:

  • выбрать тип статистики — обычная аналитика или Tag Manager.
  • включить отслеживание событий: загрузки, ссылки/телефона, партнерские линки, скролинг и т.п.
  • задать пользовательские определения: категории, дату, автора постов, ключи и др.
  • ограничить работу для некоторых ролей пользователей.
  • указать расширенные параметры Google Analytics.
  • подключить Accelerated Mobile Pages (AMP) или Ecommerce плагин.

В общем, данный модуль пригодится не просто чтобы установить Google Analytics на сайте WordPress, но и позволит вам задавать множество разных опций статистики не покидая WP админку.

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

Что касается двух рассмотренных вариантов, то подойдет любой. В принципе, работать с плагином удобно. Во-первых, не нужно повторно добавлять код отслеживания после внесения каких-либо изменений в сервисе. Во-вторых, вам не придется еще раз проходить данную процедуру при смене макета, т.к. модуль остается при этом включенным. С другой стороны, установка Google Analytics в WordPress максимально простая процедура, и зачастую нет смысла активировать для нее отдельный плагин.

А вы ставите GA у себя на сайте или предпочитаете Метрику? Хотите что-то дополнить по теме или спросить?

Установка Google Analytics в WordPress (через FTP в Header)

Как я уже сказал выше, сегодня будем изучать внедрение сервиса аналитики в WordPress через FTP клиент в область шапки сайта (header). Вариант с футером и правкой в админке ищите в другой статье.

1. Итак, предположим, что вы уже зарегистрированы в Google Analytics (если нет сделайте это). Затем в своей учетной записи в разделе «Администратор» находите ссылку «Создать аккаунт» и и кликаете по ней.

На странице указываете:

  • тип добавляемого проекта;
  • название аккаунта и сайта (они могут совпадать, если создаете для всех задач отдельные профили);
  • URL адрес своего веб-ресурса;
  • категорию/отрасль;
  • ваш текущий часовой пояс;

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

Далее жмем кнопку «Получить идентификатор отслеживания», и через несколько секунд увидите код Google Analytics для WordPress (его, в принципе, можно вставлять и в любые другие CMS, движки и просто HTML страницы).

Данную вкладку пока что не закрывайте.

2. На втором этапе нам понадобится любой из известных FTP клиентов (я предпочитаю бесплатный и функциональный Filezilla). Используя доступы, которые вам высылаются после заказа/оплаты хостинга, заходите на FTP своего сайта.

Нам нужна директория с активным в данный момент шаблоном: wp-content/themes/имя_темы (в примере это playbook). В ней находите header.php и копируете его на свой компьютер. Затем открываете файл для редактирования — можно выбрать любой редактор кода Notepad++, Sublime или обычный Notepad.

Вам надо добавить Google Analytics в WordPress страницу перед закрывающимся тегом как-то так:

Далее сохраняете файл и перезаписываете новую его версию обратно на FTP. Программа запросит у вас подтверждение заменить оригинал — соглашайтесь.

Теоретически, на этом процесс интеграции счетчика считается завершенным. Чтобы проверить все ли правильно вы установили, возвращаетесь в сервис аналитики, открываете «Отчет» — «В режиме реального времени» и смотрите есть ли какие-то посетители. При этом можете сами зайти на сайт и убедиться в том, что система вас видит.

Для чего нужен PHP в виджетах

Вопрос индивидуальный, так как реализовать с помощью этого языка программирования можно все что угодно. Лично меня к написанию этого поста подтолкнул заказ клиента, сайт которого я сейчас делаю. На нем необходимо было вывести в сайдбаре в отдельном виджете список новостей из одной рубрики – «Новости». В стандартных виджетах WordPress нет такой возможности.

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

В целом, разрешая исполнение PHP, мы можем решить 2 задачи:

  • Заменить часть плагинов сайта на скрипты и снизить таким способом нагрузку на хостинг;
  • Реализовать функции, для которых плагинов пока не существует.

На первом этапе я расскажу о виджетах, а потом, отдельным блоком про вывод кода в контенте.

Ссылка на основную публикацию