n-wp.ru — блог о WordPress
Удобная работа с произвольными полями с помощью плагина MaxSite - Произвольные поля | n-wp.ru

Удобная работа с произвольными полями с помощью плагина MaxSite — Произвольные поля

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

Тем, кто постоянно используют произвольные поля, может пригодиться плагин MaxSite — Произвольные поля. Этот плагин является переработанной разработчиком MaxSite CMS версией плагина Custom Field GUI, облегчающего добавление данных в определенные произвольные поля. Суть такова: вы записываете в отдельный текстовый файл названия произвольных полей, которыми хотите пользоваться постоянно, определяете их вид, условия использования, для некоторых задаете значения по-умолчанию, и плагин по вашим требованиям отображает в редакторе постов форму ввода данных. Таким образом вам не нужно вспоминать названия произвольных полей, а при определенных условиях не нужно даже вводить данные, достаточно только выбрать один из введенных вами вариантов. Такой подход очень удобен, если вам нужно практически в каждом посте использовать определенный набор произвольных полей.

Настройка файла conf.ini

Для начала вам нужно настроить специальный файл conf.ini, в котором содержатся данные о произвольных полях, которые нужно отображать в редакторе постов. Этот файл находится в папке плагина. Если его там нет — создайте (обычный текстовый файл в кодировке UTF-8). Например, он может иметь такой вид:

Что в итоге увидит автор поста при его редактировании? Вот такую картину:

Удобная работа с произвольными полями с помощью плагина MaxSite - Произвольные поля (2)

Таким образом видно, что файл conf.ini отвечает за то, для каких произвольных полей в редакторе нужно выводить формы ввода, как они должны выглядеть, и какие данные в них можно сразу подставлять.

Например, код

указывает плагину, что для произвольного поля top_pages форма ввода будет стандартным текстовым полем с размером 60 знаков по ширине и 1 знак по высоте.

Код

указывает плагину создать произвольное поле izbran_post, которое может иметь значение checked или быть пустым. Вы можете только выбрать это значение, или же не использовать произвольное поле.

Код

указывает плагину создать произвольное поле vybor_radio. По-умолчанию этому полю будет присвоено значение 10-19. Однако вы с помощью radio-переключателя можете выбрать одно из установленных значений: 0-9, 10-19 или 20+.

Код

указывает плагину создать произвольное поле uroven, у которого может быть несколько значений: High, Medium или Low. По-умолчанию будет использоваться значение Low, но вы с помощью выпадающего списка можете выбрать и другое значение для этого произвольного поля.

Код

создает произвольное поле vash_text, в которое с помощью текстовой формы шириной 60 знаков и высотой 5 знаков можно ввести произвольный текст, например, код HTML.

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

Решение прикладной задачи

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

Создадим несколько произвольных полей для ссылки на источник:

Этот код выведет два текстовых поля, нужных для ссылки, указывающей на источник. В одно из них нужно ввести ссылку, а во второе — желаемый анкор (текст этой ссылки).

Теперь создадим переключатель, с помощью которого можно будет выбрать, что вы хотите видеть в конце поста: автора поста, ссылку на источник, или же автора текста, используемого в посте.

В итоге формы ввода значения нужных нам для этой задачи произвольных полей будут выглядеть так:

Удобная работа с произвольными полями с помощью плагина MaxSite - Произвольные поля (3)

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

  • если выбрать пункт sourcesite, то в конце поста выведется ссылка на источник (если текст был скопирован с другого сайта)
  • если выбрать пункт sourceauthor, то в конце будет указан автор текста (не автор поста, а автор текста, который использовался в посте)
  • если же выбрать пункт sourceblog, то в конце будет выведен автор текущего поста

В файл single.php нужно вставить код, выводящий при определенных условиях значение произвольных полей, описанных выше:

Этот простой пример показывает, насколько удобно становится работать с произвольными полями, используя плагин MaxSite — Произвольняе поля.

Скачать
MaxSite - Произвольняе поля
вы перейдете по ссылке http://maxsite.org/page/ras30

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

12 комментариев

  • Спасибо за пример!
    Но вот сейчас проблема появилась. А как быть со старыми постами, где значения не выставлены? Не редактировать же каждый пост. :)
    Можно как то добавить такое исключение, к примеру если значения не выставлены, то просто отображать

    ?

  • как-то так

      • На один вопрос вам ответили чуть выше — используйте условие:
        — если есть поле sourceauthor, то выводится его значение
        — иначе выводится автор

        • Сделал, как написали. Собственно получилось следующее. В functions.php вставил такой код:

          В single.php вывожу автора или источник так:

          Файл conf.ini выглядит так:

          Думаю по коду видно почему я убрал часть кода из примера, ибо она больше не нужна.

          Ну и, собственно, проблема. Если выбрать sourceauthor и вписать автора, то всё ок, выводится тот автор, которого прописал. Если ничего не выбрать, но выводится автор стандартным

          Но вот если выбрать sourcesite, то выводится и источник, и вордпресовский the_author();. Вот примеры:

          Использование sourceauthor: http://ubuntovod.ru/instructions/nastrojka-hy-menu.html
          Использование the_author(): http://ubuntovod.ru/site-news/izmeneniya-na-ubuntovode-2-1.html
          Использование sourcesite: http://ubuntovod.ru/soft/libreoffice-3-5-4.html

          Автор выводится после статьи.

          Как быть?

  • добавить условие которое будет проверять заполнено ли какое либо из полей:

  • Большое спасибо за статью. У меня возник вопрос. Допустим, я вывожу произвольное текстовое поле. Например, такое

    Мне необходимо, чтобы при определённом значении поля цена, например, «300», у меня
    под полем с ценой отображался определённый текст, например, «в стоимость
    включена доставка». То есть, если цена = «300», то выводится текст «в стоимость
    включена доставка», если цена = «200», то выводится текст «без учёта доставки».
    Как правильно это реализовать? Подскажите, пожалуйста. Заранее спасибо.

    • Ну примерно как-то так:

      • Не получилось что-то… Спрошу немного иначе. Выводим произвольное поле с гарантией.

        Нужно сделать так, чтобы при гарантии «24 месяца» выводился «определённый текст», а при гарантии «12 месяцев» выводился «другой текст». То есть, если гарантия = (строго равно) «24 месяца», выводится «текст1». Если гарантия = «12 месяцев», выводится «текст2». Помогите, пожалуйста, разобраться. Заранее благодарю.

/* ]]> */