Расширяем функциональность WP (custom fields)
[ ←Вернуться к стандартному виду ]
Сегодня мне лень писать что-то объемное с подробными инструкциями, тем более про custom fields, поэтому просто дам ссылки на некоторые плагины, которые позволяют через custom fields (произвольные поля) расширить функциональность WordPress.
UPD Другие плагины для работы с произвольными полями::
- Custom Write Panel для wp 2.2
wordpress.org/extend/plugins/custom-write-panel/ - Freshpost для wp 2.3 —2.6 (модификация плагина Custom Write Panel)
wordpress.org/extend/plugins/fresh-page/ - Flutter — более навороченная версия Freshpost (для wp 2.5 и выше)
freshout.us/goodies/fresh-post-for-wordpress-wordpress-cms/ - Custom Field Template — более удобная версия Сustom field GUI
С этим плагином, я думаю, знакомы многие по рассылке №30 Максима (maxsite.org) «Используем произвольные поля в WordPress»:
Сustom field GUI
Сайт автора плагина: rhymedcode.net
Совместимость: работает на всех версиях WP
Модифицированный для России версия плагина от Максима: custom field gui maxsite, по этой же ссылке есть все необходимые инструкции по использованию. Скриншоты из админки:
Прост в конфигурировании, из недастатков можно отметить то, что конфигурация прописывается вручную в файле conf.ini, который лежит в папке плагина, никакого управления настройками плагина из админки нет.
Как прописать вывод определенного custom field в шаблоне (Теме):
- смотрите примеры в рассылке №30 maxsite.org
- в Кодексе Using Custom Fields
- для разных версий WP код вывода custom field может отличаться
More Fields
Страница плагина: More Fields и в репозитории WordPress.
Совместимость: wp 2.3.1 и выше
Русификация (скачать, распаковать, файл more-fields-ru_RU.moположить в папку с плагином).
Скачали: 948
Я сделала перевод плагина, пока файл занимает всего лишь 2 кб и состоит из нескольких строк, будем надеятся, что автор в следующих версиях включит больше фраз для перевода.
Новый плагин, который появился в конце 2007 и уже успел заслужить похвалу от Мэтта (отец-основатель WordPress). Плагин по функциональности превосходит Сustom field GUI: есть управление из админки (создание, редактирование полей), custom fields можно группировать в отдельные блоки.
В отличие от Сustom field GUI есть специальные функции, с помощью которых можно вставить значения группы произвольных полей или отдельного поля в шаблон (файл Темы), причем работают они как внутри, так и вне Цикла (Loop). При конфигурировании можно указать, где данной группе положено появляться: при написании поста или страницы, или и там и там.
Что тут сказать? Красота!
Вот как выглядит настройка группы произвольных полей и получившееся дополнительное поле в редакторе:
UPD
Краткая инструкция по пользованию плагином
Описание полей в админке:
название блока
Это название блока в админке при написании/редактировании поста/страницы. Это название также используется в функции вывода блока произвольных полей в файле-шаблоне Темы. Немного поэкспериментировав, могу доложить, что можно использовать русские буквы в этом поле и даже словосочетания, функция вывода блока произвольных полей работает нормально, пример: <?php do_action('more_fields', 'Пробный блок'); ?>
позиция
с какой стороны отображать названия полей (слева или справа)
ключ
ключ или key в custom field, может содержать только латинские буквы, разделителем служит нижнее подчеркивание или знак дефиса.
имя
название поля, может быть русским, т.к. служит для обозначения ключа.
тип
тип поля, в данный момент плагин предлагает нам 3 типа:
- text поле для ввода текста
- text area текстовое поле
- select list выпадающий список
как вводить данные в select list:
- 0:10 создает выпадающий список из цифр от 0 до 10
- 10:0 — от 10 до 0
- свои значения вводятся через запятую, пример: хорошее, плохое, холодное, теплое.
Функции More Fields
На примере блока «Мое настроение»:



Функции для вставки в файлы Темы:
1. Выводим произвольное поле «Слушаю музыку» из блока «Мое настроение»:
<?php meta('music'); ?>
2. Выведет блок «Мое настроение» со всеми заполненными полями
- в div id="moe-nastoenie"
- название блока «Мое настроение» обернется в тег h3
- поля выводятся ненумерованным списком ul, li — настройка по умолчанию
<?php $options = array('div' => 'moe-nastoenie');
do_action('more_fields', 'Мое настроение', $options);?>
3. Вывод только одного поля music из блока «Мое настроение»
- в div id="moe-nastoenie"
- название блока «Мое настроение» в теге h3
<?php $options = array('div' => 'moe-nastoenie', 'show' => 'music');
do_action('more_fields', 'Мое настроение', $options); ?>
4. Вывод двух полей (music и place) из блока «Мое настроение»
- в div id="moe-nastoenie"
- название блока «Мое настроение» в теге h3,
- поля в тегах dl, dd,
- помимо значений полей выводятся также их имена
<?php $options = array('div' => 'moe-nastoenie', 'format' => 'dl', 'show' => array('music', 'place'));
do_action('more_fields', 'Мое настроение', $options); ?>
Остальные примеры смотрите на странице плагина.
Хороший плагин More Fields.
Хочу поэкспериментировать и с помощью него сделать более насыщенный пост.
Спасибо за русификатор!
Антон, рекомендую пользоваться , насчет more fields — я им давно не пользовалась и к тому же решила, что другими плагинами подобного рода пользоваться удобнее (или привычнее что ли).
Подскажите пожалуйста как можно в плагине more fileds вывести названия полей вместе с их значениями, на данный омент выводятся только значения полей.
И какие значения могут быть у $options?
произвольные поля широко используются во многих WP темах от revolution что делает довольно интересными.
вот к примеру у меня на я использую минимум два типа произвольных полец: thumbnail — для вывода картинок 70×70 и как-то там еще для ввывода больших картинок в галлерею.
Данные о мета полях хранятся в базе данных в таблице
wp_postmetaСоника скажи пожалуйста,
где хранятся данные о мета полях?