Расширяем функциональность 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, по этой же ссылке есть все необходимые инструкции по использованию. Скриншоты из админки:

Сustom field GUIСustom field GUI

Прост в конфигурировании, из недастатков можно отметить то, что конфигурация прописывается вручную в файле 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 положить в папку с плагином).

Я сделала перевод плагина, пока файл занимает всего лишь 2 кб и состоит из нескольких строк, будем надеятся, что автор в следующих версиях включит больше фраз для перевода.

Новый плагин, который появился в конце 2007 и уже успел заслужить похвалу от Мэтта (отец-основатель WordPress). Плагин по функциональности превосходит Сustom field GUI: есть управление из админки (создание, редактирование полей), custom fields можно группировать в отдельные блоки.

В отличие от Сustom field GUI есть специальные функции, с помощью которых можно вставить значения группы произвольных полей или отдельного поля в шаблон (файл Темы), причем работают они как внутри, так и вне Цикла (Loop). При конфигурировании можно указать, где данной группе положено появляться: при написании поста или страницы, или и там и там.

Что тут сказать? Красота!

Вот как выглядит настройка группы произвольных полей и получившееся дополнительное поле в редакторе:

More Fields конфигурирование More Fields поле в админке

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

На примере блока «Мое настроение»:

Что получается

Как выглядит созданный блок при написании/редактирования поста (плагин more fields v0.4)

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); ?>

Остальные примеры смотрите на странице плагина.


Оставить комментарий »

  1. # Friend (2) 12.01.2008 в 22:04

    Классно, пользовался переведенным плагином от maxsite.org - пример работы можно и сейчас поглядеть в детальном просмотре работы на моем сайте о батике - причем в зависимости от различных параметров выводятся разные поля :)

  2. # sonika (301) 13.01.2008 в 00:20

    Я тоже всегда Сustom field GUI Максовой версии пользовалась, а вчера нашла More Fields и аж глаза разбежались :)

  3. # Ромкин (1) 13.01.2008 в 08:38

    ага, куча всяческих возможностей
    максайт для меня умер :)

  4. # sonika (301) 13.01.2008 в 12:59

    2Ромкин:
    Экий Вы ветренный, и всего из-за одного плагина?

  5. # friend (2) 14.01.2008 в 16:26

    Видимо из-за общего мнения Максима об останове почтинга на сайте сообщений о WP :)

  6. # sergey (1) 15.01.2008 в 19:23

    Отличные плагины )) побежал ставить у себя в блоге!

  7. # Pass 16.01.2008 в 13:37

    Спасибо тебе! Весчи классные!

  8. # ewgen 16.01.2008 в 22:46

    я попробовал применить у себя на сайте. Получилось. Хороший плагин!

  9. # AKSHATURALY (2) 10.02.2008 в 23:04

    Спасибо большое!

  10. # Андрей (4) 30.08.2008 в 15:04

    Спасибо большое за плагин! Я как раз сейчас ищу возможности реализовать на движке вордпресс, сайт Агенства Недвижимости.

    Только что-то я не могу вывести эти поля в посте
    :( Помоги пожалуйста.

    Это нужно выводить код в самом шаблоне?

  11. # Андрей (4) 30.08.2008 в 15:26

    скажите, сколько бы это стоило настроить такой плагин на моём блоге? если конечно вы этим занимаетесь

  12. # sonika (301) 30.08.2008 в 15:41

    Андрей, посмотрите плагин Great Real Estate

  13. # Андрей (4) 30.08.2008 в 15:45

    Смотрел, он у меня не установился, даже на версию 2.5 как там написано. Можно с Вами по аське поговорить?

  14. # Андрей (4) 30.08.2008 в 15:48

    В админке не отображается дополнение к посту. Т.е. те формы как раз которые нужны для создания анкеты

  15. # sonika (301) 30.08.2008 в 16:28

    Не, на фрилансе я не работаю :) Могу посоветовать вместо more fields плагин freshpost, он точно работает с ВП 2.5.1 включительно и возможностей работы с custom fields у него побольше + эта статья.

  16. # Sergey 02.09.2008 в 00:15

    все бы хорошо но только есть один большой касяк в плуге more fields , а именно если выбрали какое-то значение к посту, то при следующем редактирование этого поста, мета-поле дублируется в базу, стоит 10 раз отредактировать страницу или пост как получаем 10 значение more fields.
    в плуге макса такого нет, это +.

  17. # sonika (301) 02.09.2008 в 01:18

    Sergey, честно говоря я more fields никогда на "рабочем" сайте не использовала, поскольку быстро обнаружила Custom Field GUI Custom Write Panel, его модификация -- freshpost подходит для wp 2.3.3 -- 2.5.1, ссылку на который я дала на 1 коммент раньше вашего комментария. Попробуйте, он круче и удобнее.

  18. # Hazukashii (1) 12.10.2008 в 11:12

    Спасибо автору за наводку на плагин More Fields. С помощью него реализовал фотогалерею DitaVonTees.net.
    - При добавлении новой записи, она появляется на первом месте, а все остальные сдвигаются на 1 пост вперед. Всего выводится 20 записей.
    - При просмотре полной версии записи внзу выводятся 5 "Related Post", 5 похожих записей.
    пс. Дизайн дорисовываю..

  19. # Никита (1) 26.10.2008 в 03:29

    а есть ли какая-то возможность скрывать те поля, которые пустые? я уже битый час не могу скрыть их..

  20. # sonika (301) 26.10.2008 в 14:57

    Где именно — выводимые плагином или встроенный бокс «Произвольные поля»? В последнем случае его можно свернуть.

  21. # денис 17.11.2008 в 14:16

    Соника скажи пожалуйста,
    где хранятся данные о мета полях?

  22. # sonika (301) 23.11.2008 в 14:29

    Данные о мета полях хранятся в базе данных в таблице wp_postmeta

  23. # Макс (1) 05.01.2009 в 19:08

    произвольные поля широко используются во многих WP темах от revolution что делает довольно интересными.
    вот к примеру у меня на sweetdomik.ru я использую минимум два типа произвольных полец: thumbnail - для вывода картинок 70х70 и как-то там еще для ввывода больших картинок в галлерею.

  24. # Антон (1) 17.01.2009 в 14:19

    Подскажите пожалуйста как можно в плагине more fileds вывести названия полей вместе с их значениями, на данный омент выводятся только значения полей.

    И какие значения могут быть у $options?

  25. # sonika (301) 17.01.2009 в 19:35

    Антон, рекомендую пользоваться такими способами для вывода значений custom fields, насчет more fields — я им давно не пользовалась и к тому же решила, что другими плагинами подобного рода пользоваться удобнее (или привычнее что ли).

  26. # Zack (1) 28.02.2009 в 22:17

    Хороший плагин More Fields.
    Хочу поэкспериментировать и с помощью него сделать более насыщенный пост.

    Спасибо за русификатор!

  27. # Виктор 18.07.2010 в 13:02

    Здравствуйте!
    Подскажите  можно ли выводить превью миниатюру видео (как вот здесь judovision.org) с помощью данных плагинов.
    Заранее благодарен за ответ!

  28. # Иван (1) 17.02.2011 в 21:57

    Подскажите.
    Как встроить в поле со значением одного из custom field поле с загрузкой файла на сервер? Видел такое в какой-то из тем для WP, но не могу найти сейчас.

  29. # Pingback Как работать с произвольными полями (custom fields) в WordPress? | Выживи сам 22.09.2015 в 18:26

    [...] для работы с произвольными полями: раз, два (wp 2.3.3 и ниже), три (wp 2.5 и [...]

Подписаться на фид.
RSS комментариев к этой записи. | TrackBack URI

Написать комментарий


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

[ ←Вернуться к стандартному виду ]

Печатная версия