Вконтакте
Телефон для заказов: +7 (910) 487 81 94
Подписка на RSS

Плагин Magic Fields — создание дополнительных полей в Wordpress

Плагин для Wordpress Magic Fields - дополнительные поля в записях и страницах

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

Но, к счастью и спокойствию для меня, нашлись единомышленники, решившие подхватить разработку и всё к ней прилагающееся под новым именем. Встречайте: Magic Fields — плагин, позволяющий создавать разные типы записей с дополнительными полями.

У меня был большой опыт работы с Flutter, поэтому мне не составило труда быстро разобраться и с этим плагином, о котором расскажу интересности.

Несколько примеров того, для чего эту прелесть можно использовать:

  • создание каталога сайтов
  • создание фотоальбомов
  • создание каталога с видео
  • создание каталога песен (например, mp3 с текстами)
  • создание вообще любых каталогов
  • сортировка записей по каким-либо дополнительным параметрам (год, место, цена)
  • создание магазина (каталога товаров, данные из которого можно использовать для подключения к разным платёжным системам)

О том, как именно с помощью этого плагина создавать всё выше перечисленное, я расскажу в следующих постах, которые составят серию «Создание сайтов с Wordpress & Magic Fields». Сейчас же краткая презентация и пара примеров.

По умолчанию в админке Wordpress есть раздел, где содержатся записи и раздел со страницами. С помощью плагина Magic Fields возможно создание неограниченного количества разделов, например «Песни», «Видео» или «Продукты».

Дополнительные разделы записей в Wordpress с помощью Magic Fields

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

Поля можно группировать, можно создавать дублируемые или уникальные группы. Например, для создания плейлиста с файлами, Вам понадобится создать дублируемую группу с полями «файл» и «заголовок». Поля также могут быть дублируемыми. В общем, сказка.

Предусмотрены следующие типы полей:

  • Textbox (одна строка)
  • Multiline Textbox (несколько строк: визуальный редактор или HTML)
  • Checkbox
  • Checkbox List (список с чекбоксами)
  • Radiobutton List (список радиокнопок)
  • Dropdown List (выпадающий список)
  • Listbox (поле со списком)
  • File (загрузка файла)
  • Image (загрузка изображений)
  • Date (дата с использованием выпадающего календаря)
  • Audio (загрузка аудиофайлов, предусмотрен проигрыватель)
  • Color Picker (штука для выбора цвета)
  • Slider (ползунок по типу регулятора громкости)

Дополнительные разделы записей в Wordpress с помощью Magic Fields

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

А теперь пример

Допустим, нам надо создать дополнительное поле «Место написания статьи». Для этого нам понадобится выполнить следующие действия.

1. Создать раздел, например «Мои записи». Для этого идём в Magic Fields → Write Panels и там нажимаем на кнопку «+ Create a Write Panel». Далее нам нужно указать, какие настройки необходимо применить для нового раздела. Выбираем, запись ли это или страница (Placement), даём название (можно по-русски, оно будет отображаться в левом меню), подключённые категории (Assigned Categories), один пост или несколько (Quantity), включаем-выключаем стандартные (Standard) и дополнительные поля (Advanced Fields).

Создание раздела записей с помощью плагина Magic Fields

2. После этого нам понадобится создать группу полей. Для этого идём в Magic Fields → Write Panels, там находим наш новоиспечённый раздел и кликаем «Edit Fields/Groups». Там нажимаем «+ Create a Group» и в появившемся редакторе указываем имя и включаем-выключаем возможность создавать дубликаты группы.

Создание группы полей в плагине Magic Fields

3. Далее необходимо создать дополнительно поле. Идём в Magic Fields → Write Panels, напротив нашего раздела жмём «Edit Fields/Groups», и рядом с нашей группой нажимаем на «create field». В появившемся редакторе указываем имя поля (Name) латинскими символами без пробелов, описание (Label) — отображаемое имя, вспомогательный текст (Help text) — можно объяснить предназначение поля, настраиваем дублируемость (Can be duplicated), порядок (Order), обязательность заполнения (Required) и тип поля (Type) — в нашем случае это обычное текстовое поле (Textbox).

Создание дополнительного поля в Wordpress с помощью плагина Magic Fields

4. Наш раздел создан и готов к использованию. Теперь создадим пробную запись. В блоке «Мои записи» кликаем «New» и заполнив всё необходимое, нажимаем «Опубликовать».

Создание записи с дополнительными полями в Wordpress

5. Теперь, чтобы отобразить информацию о «месте написания статьи», в желаемом месте шаблона необходимо добавить следующий код:

<br />
<?php $place = get('place');<br />
if ($place != "") { ?></p>
<p>Место написания статьи: <?php echo $place; ?></p>
<p><?php } ?><br />

В итоге получаем то, что видим на скриншоте:

Пример дополнительного поля в Wordpress c помощью плагина Magic Fields

В настройках плагина мы включили возможность редактирования непосредственно с сайта (Edit-n-place), поэтому попробуем тут же изменить место написания статьи.

Изменение дополнительной информации с помощью плагина Magic Fields

Надеюсь, Вы уже представили себе с какой лёгкостью мы будем создавать магазины и разнаобразные каталоги в следующих записях серии «Создание сайтов с Wordpress & Magic Fields».

Спасибо за внимание.
Артём Савельев.

Понравилась статья?

Статьи по теме:

Создание блога под ключ всего за 999 рублей!

«Плагин Magic Fields — создание дополнительных полей в Wordpress» — 35 комментариев

  • Очень интересно, но видимо, потребует не мало времени чтобы с ним разобраться, подскажи, пожалуйста (на вскидку) — можно ли с помощью него загружать несколько объектов к посту, т.е. хранить каждый из 5 объектов в своем поле и затем использовать что-то вроде дополнительных рубрик в wordpress?

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

    Ответить

    @begenote, с его помощью можно загружать не только несколько объектов, но и несколько групп объектов, которые, как и объекты, могут иметь возможность быть продублированными. То есть неплохое структурированное деревце файлов можно получить при необходимости — и это для каждого поста.

    Про дополнительные рубрики — если правильно тебя понял, ты имеешь в виду использование дополнительных полей для создания различных сортировок и фильтров. Да, такое возможно. Я пример показывал в этом уроке: seogad.ru/cms/mp3-wordpre...c-fields-jplayer

    Ответить

  • Одно плохо. Писать статьи придется через админ панель. А мне нужно отдельную страницу для этого создать, чтобы пользователи приходили логинились и писали статью, заполнив обязательные поля. Такое можно сделать?

    Ответить

  • Классный плагин. ...вот только как бы организовать расширенный поиск по отдельным полям?

    Ответить

    @Александр, зависит от того, что конкретно нужно, но в принципе можете попробовать сделать по аналогии с тем, как написано в конце этого урока: seogad.ru/tools/cms/mp3-w...c-fields-jplayer

    Ответить

    @Артём Савельев, не получилось у меня((

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

    то есть нужно примерно тоже, что и в уроке seogad.ru/tools/cms/mp3-w...c-fields-jplayer , но без участия плеера, просто чтоб выводились адреса постов в результате.

    можешь объяснить принцип? HELP

    Ответить

    Создаём форму с select, опции для которого выдираем из базы, ставим условие: если что-то выбрано в форме, показывать только то, что выбрано, для этого проверяем форму через isset и вставляем соответствующий фильтр (query) в отображение постов. Теперь пример.

    Допустим, поле со стилем называется style.

    <form method="post" action=""> <p>Стиль:<br /> <select name="style" > <option value=""></option> <?php $liststyles = $wpdb->get_results("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'style' ORDER BY meta_value"); foreach ($liststyles as $liststyle) { if ($liststyle->meta_value != '') { $option = '<option '; if ($liststyle->meta_value == $_REQUEST["style"]) {$option .= 'selected '; } $option .= 'value="'.$liststyle->meta_value.'">'; $option .= $liststyle->meta_value; $option .= '</option>'; echo $option; }} ?> </select> </p> <p><input type="submit" value="Показать" class="s_submit" name="submit" /> </p> </form> <?php if (isset($_REQUEST["style"])) { $showstyle=$_REQUEST["style"]; } else { $showstyle=""; }; if ($showstyle!= "") { query_posts($query_string . '&x_style='.$showstyle); } ?>

    Ответить

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

    Ответить

    @Александр, вот здесь пример фильтра без песен, в самом низу.

    seogad.ru/tools/cms/magicfields-photosite

    Ответить

    @Артём Савельев, спасибо. ща буду пробовать.

    Ответить

    @Артём Савельев, получилось))) СПАСИБО!

    Ответить

    @Артём Савельев, а вот как бы связать два фильтра? то есть чтобы сразу по двум параметрам фильтровать...

    Ответить

  • Честно, ничего не понял по функционалу и принципам построения всего выше описанного, кроме списка того что можно с помощью него сделать.

    Чета как-то сложно очень, если можно взять конкретно заточенный движок под каталог, или галерею, или магазин в частности, в конце концов есть и целевые плагины под WP.

    Вобщем плаг. примечателен тем, что он как бы много в одном, но а это не всегда плюс.

    Ответить

    @carerakjan, это конструктор, из которого можно что-то нужное и под себя заточенное вылепить.

    Ответить

  • Хочу у себя заделать рейтинг блогов, с помощью этого плагина реально ли нечто похожее собрать, раз это конструктор?

    Ответить

  • Привет!

    Не могу разобраться. Почему-то код вставки в блог не срабатывает. Я ввожу текст в доп поля, но ничего не получается. Не могу понять где ошибка.

    Подскажите в какую сторону копать?

    Ответить

    @Игорь, возможно в последних версиях плагина что-то поменялось и не так, как здесь описано, делается.

    Ответить

  • Здравствуйте а когда будет статья сортировка записей по каким-либо дополнительным параметрам (год, место, цена) и как можно сделать дата от и до год не выпадающий список а текстовое поле и последний вопрос как можно прикрутить javasript к определеному полю при сортировке

    Ответить

  • люди помогите куда мне вставлять

    <?php $place = get ('place');

    if ($place != "") { ?>

    Место написания статьи:

    в кокой файл чет не пойму!у мя поля не отображаются в посте!

    Ответить

  • Присоединяюсь к просьбе Kim.

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

    Ответить

  • Не могу активировать(

    уже попробовала несколько версий

    Warning: require_once (PanelFields.php): failed to open stream: No such file or directory in /home/clients/stila_ftp0/domains/bc-teatr.com/html/wp-content/plugins/magic-fields/main.php on line 42 Fatal error: require_once (): Failed opening required 'PanelFields.php' (include_path='.:/usr/local/php/lib/php') in /home/clients/stila_ftp0/domains/bc-teatr.com/html/wp-content/plugins/magic-fields/main.php on line 42

    Может быть Вы знаете в чем ошибка ?

    Спасибо заранее

    Ответить

  • Сразу предупрежу, что почти полный чайник в php, только разбираюсь. И ещё, понимаю, что очень много помощи прошу и потому буду рада хотя бы частичной помощи и любым применимым советам :)

    [b]Лирика:[/b] Переделываю свою библиотеку по старым детским книгам (была известна как «Книги детства», но сейчас закрыта пока). Проект абсолютно некоммерческий, добровольческий, без рекламы и прочего. Пишу потихоньку ручками.

    Поставила плагин Magic Fields для того, чтобы быстро вносить на сайт книги. Плагин работает, сделала нужные поля.

    Стала выводить в single.php кастомные поля. С выведением обычных текстовых полей проблем нет, все работает через вставку такого кода для каждого поля:

    ID, &#39;heroes&#39;, true);</p><p>if ($heroes != "") { ?&gt;</p><p>ГЕРОИ: </p><p>

    тут все ок, выводит в посте как:

    ГЕРОИ: фея Синемора, принцесса Алисия

    Затык приключился с выведением следующих вещей:

    [b]1. Как вывести в пост ВСЕ внесённые через кастомные поля картинки? [/b]

    Например, вношу через кастомные поля новую книгу, к ней (условно) есть три картинки-примера иллюстраций (количество картинок - до 10, добавляются в кастомных полях через + Add Another).

    Всё, что пока смогла найти и успешно применить - загружается только одна картинка :( первая в списке, через такой код:

    </p><p>

    при этом она в полном размере, не миниатюра.

    Кто знает, ПОСОВЕТУЙТЕ КОД, чтобы в итоге вывести:

    1) все внесённые картинки одна над другой, каждая на новой строке ИЛИ

    2) вывести в строку уменьшенные изображения всех внесённых картинок, при нажатии картинка появляется в оригинальном формате на затенённом поле (в принципе, для этого есть плагин Shutter Reloaded).

    [b]2. Как вывести ВСЕ приложенные к посту файлы? [/b]

    К посту может быть приложено n-ное количество файлов форматов doc, pdf, txt, rtf, djvu, zip, rar. Это файлы самих книг. При этом файлы могут со временем добавляться ещё.

    Подскажите, плззз, КОД, чтобы вывести в посте списком или в строку ВСЕ загруженные файлы книги, в том числе в строке:

    — иконку с изображением типа файла в зависимости от расширения,

    — ссылку на скачку в виде слова-линка,

    — размер файла в Mb

    примерно так:

    (иконка) [u]Скачать файл[/u] [ 1,3 Мb ]

    (иконка) [u]Скачать файл[/u] [ 1,3 Мb ]

    (иконка) [u]Скачать файл[/u] [ 1,3 Мb ]

    [b]3. Как вывести поля, в которых может быть несколько значений?[/b]

    Например, если в поле «Страна автора» выбрано несколько стран (выпадающий список либо чек-бокс)

    Заранее спасибо!

    Ответить

  • Упс, не знаю, как код здесь показать, который использовала :(

    Ответить

  • Вопрос в следующем (он вроде был уже без внятного ответа). Каким образом можно создать на сайте под WordPress на странице возможность внести пользователю свою информацию без входа в панель администрирования? Т.е. нажал на кнопку типа «Добавить» и появились поля для ввода информации, которые потом при нажатии кнопки типа «Готово» преобразятся в простую и доходчивую информацию на главной странице?

    P/S/ Типа как вот у вас вверху форма «Ваш комментарий», но чтобы она не комментарием была, а простой и быстрой записью?

    Очень был бы признателен за помощь, совет, ответ и прочую полезную пользу!

    Ответить

  • На русский язык он не переведён?

    Ответить

  • Надеюсь ты мне поможешь...

    Проблема в выводе файла (к примеру zip) в пост.

    Создал поле file

    Пытался выводить так:

    Не выводит... ((((

    Остальные поля выводит без проблем )

    Как можно вывисти прикрепленный файл?

    Ответить

    @Sembler, не могли бы вы написать на почту? artsav@artsav.com — комментарии видимо вырезали код

    Ответить

  • Спасибо за отличный пост!

    А то пытался сделать обычный каталог товаров на базе wp-e-commerce, мозги сломал. А теперь все отлично делается, и конкретно под себя.

    Ответить

  • Артем, можешь расшифровать что означает слово Дублирование? Зачем оно нужно для полей или для групп? В каких ситуациях может применяться и как это выглядит?

    А также может быть подкинешь ссылки на тему настройки вывода категорий записей в формате каталога организаций по типу этого: www.nashgorod.ru/catalog/

    Буду признателен!

    Ответить

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

    Ответить

  • У Вас всё очень красиво расписано! Спасибо! Выводить научился. Вопрос... Как сделать так, чтобы можно было создавать записи минуя админ-панель и при этом заполнять поля ?

    Спасибо!

    Ответить

  • Плагин понравился, сейчас пытаюсь колдовать. Если разобраться, то смогу сделать многое, чего раньше не мог сделать в wordpress.

    Ответить

  • Здорово!) не знала, что есть такой полезный плагин)

    Ответить

Упоминания на других ресурсах

Ваш комментарий

Поля отмеченные * нужно в любом случае заполнить. Пожалуйста, воспринимайте буквально текст «Блог или профиль в соц. сети», не оставляйте ссылки на интернет-магазины, коммерческие сайты и страницы, на которых нельзя познакомиться с вами и вашей деятельностью - такое творчество будет удалено. Это dofollow блог.