Произвольные поля WordPress — вставка скриптов в запись. Советы для WordPress.

Советы для WordPress.В WordPress есть функциональная возможность: "произвольные поля" или "custom field". Произвольные поля можно использовать, например, для вставки скриптов в запись или страницу WordPress.

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

Произвольные поля используют многие плагины WordPress. Например: Custom Field Template, WordPress Popular Posts и другие.

Мы же в данной статье будем использовать произвольные поля для вставки скрипта в запись или страницу WordPress

Использовать такую возможность запуска JavaScript лучше только для своих персональных блогов с одним пользователем-автором статей. Если на вашем блоге есть несколько пользователей, которые пишут статьи, то они получат возможность выполнять любые скрипты и, возможно, совсем не безобидные... Спасибо Konstantin Kovshenin за совет!

Для начала активизируем возможность использования произвольных полей в редакторе записи WordPress.

Где найти произвольные поля WordPress?

В редакторе записи или страницы смотрим ниже панели редактора и ищем панель "Произвольные поля":

Использование произвольных полей в записи WordPress

Если такой панели нет, то нажимаем кнопку "Настройки экрана" вверху админки WordPress и в раскрывшейся панели настроек выбираем "Произвольные поля". После этого нужная нам панель должна появиться.

Решение задачи "Произвольные поля WordPress - вставка скриптов в запись"

В качестве примера мы будем добавлять скрипт для вывода карты из сервиса "Мои карты" Яндекс.Карт.

1. Добавляем произвольное поле к записи. Для этого в панели "Произвольные поля"  нажимаем ссылку "Введите новое" и вводим имя произвольного поля (идентификатор) и значение произвольного поля. В имени произвольного поля вы должны использовать только цифры и английские буквы. В качестве имени произвольного поля вводим "myscript1", а в значение вставляем код скрипта для вывода карты:

<div id="ymaps1" style="width: 600px; height: 300px;margin:20px 0;"></div>
<script type="text/javascript">// <![CDATA[
function loadymaps(ymaps) {
 var map = new ymaps.Map("ymaps1", {
 center: [44.997376, 53.1831879999978],
 zoom: 13,
 type: "yandex#map"
 });
 // Загрузка YMapsML-файла
 ymaps.geoXml.load("http://maps.yandex.ru/export/usermaps/nOZwpcMPVfz-na7wwv-OybX7xT55PX7e/")
 .then(function (res) {
 var bounds = res.mapState.getBounds();
 map.geoObjects.add(res.geoObjects);
 map.setBounds(bounds);
 },
 function (error) {
 });
 map.controls
 .add("zoomControl")
 .add("mapTools")
 .add(new ymaps.control.TypeSelector(["yandex#map", "yandex#satellite", "yandex#hybrid", "yandex#publicMap"]));
};
// ]]></script>
<script type="text/javascript" src="http://api-maps.yandex.ru/2.0-stable/?lang=ru-RU&coordorder=longlat&load=package.full&wizard=constructor&onload=loadymaps&key=<em>AClk0FACAAAA9BpmMwIAy_rQ2lgxckQ-HUqJA_8agVkeBNgAAAAAAAAAAAD_NQzvfnTvkVmWtycXF9D-fBwDsg==</em>"></script>

Обращаю ваше внимание, что для вывода своей карты в этом скрипте его надо отредактировать! Про это подробно написано в этой статье.

2. Нажимаем кнопку "Добавить произвольное поле". Всё, произвольное поле привязано к нашей записи или странице.

3. Теперь укажем в каком месте записи или страницы надо вывести карту из произвольного поля. В редакторе вводим код "[customscript]myscript1[/customscript]". Обратите внимание на использование введенного ранее имени произвольного поля. А "customscript" это наш новый шорткод, которые мы добавим ниже. Сохраняем запись или страницу.

4. Переходим в меню "Внешний вид > Редактор", затем из списка файлов в правой части выбираем  "Функции темы (functions.php)". В самый конец этого файла, до строки с текстом "?>" добавляем следующий код:

function customscript_shortcode($atts, $text) {
global $post;
return get_post_meta($post->ID, $text, true);
}
@add_shortcode('customscript','customscript_shortcode');

Код добавляет в вашу тему WordPress поддержку нового шорткода "customscript". Функция "customscript_shortcode" выводит значение произвольного поля, найденного по имени произвольно поля.

5. Нажимаем кнопку "Обновить файл". Собственно и  всё: скрипт вставлен в код записи или страницы и показывает карту из Яндекс.Карт.

Пункты 4 и 5 надо выполнить один раз. При добавлении нового шорткода в следующий раз вам надо будет выполнить только пункты 1-3.

Дополнительно про произвольные поля можно почитать на этом блоге.

0
Loading Disqus Comments ...

No Trackbacks.

Loading Facebook Comments ...