Custom fields wordpress произвольные поля вордпресс как работать с вводом данных
Отборная информация, которая вставляет!

wordpress как полнофункциональная cms. Часть 1 — произвольные типы данных

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

Большинство корпоративных сайтов, которые я в последнее время сделал на заказ — работают на еще одной замечательной cms MODX. Это потому что в ней мне нравится одна особенность — очень легко добавлять разные типы ввода данных и присваивать к разным категориям.

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

Так вот, в wordpress после 3 версий тоже появилась возможность создания произвольных типов данных, таксономии и т.д. — но создавать это все вручную — проблематично, много кода нужно писать. Но недавно я нашел целый ряд очень полезных плагинов, которые очень сильно упрощают подобные задачи. О них и поговорим.

Итак, первый плагин —

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

У плагина есть .


Но давайте покажу краткий пример как его можно использовать.

Допустим мы хотим создать раздел на сайте, где будет каталог продукции. У каждого товара должно быть поле ввода «цена» и «изображение для каталога».

После установки плагина, открываем страницу настроек и добавляем новое поле.

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

В появившейся панельке вводим Field Label — это то название которое появится в админке, Field Name — название самого поля для базы данных (строго на латинице), Field Type — выбираете тип поля ввода данных (в моем случае, для цены — это будет text, для изображения image), Default Value — это то значение, которое будет установлено, если вы ничего не введете, Formatting — это формат самого текста (оставляйте html), Field Instructions — описание поля.

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

И самая последняя вкладка это Options — здесь настраиваете отображение этого поля в админке.

После всего — нажимаете save.

Итак, я создал 2 поля — первое поле имеет Field Name «price», второе «image_cat». Когда создаете поле image, то будeт доступна еще опция Return Value — оставляйте Image URL — будет потом проще управлять отображением в шаблоне. Оба поля я приаттачил к рубрике «каталог»

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

Осталось сделать вывод в самом шаблоне.

Открываем нужный файл для редактирования — так как у меня рубрика «каталог» имеет ссылку katalog, то я создаю в папке темы файлик «category-katalog.php» — он будет шаблоном для рубрики «каталог». Теперь я добавляю к нему мои поля ввода, что я создал ранее.

Код добавления прост.

Для текстового поля в моем случае это

<?php the_field('price'); ?>

price — это мой Field Name созданного ранее поля «цена».

И по аналогии с этим, картинку я буду выводить так

<img src="<?php the_field('image_cat'); ?>" alt="" />

Вот и все. Все примеры кода вы можете увидеть в документации к плагину, которая очень подробно сделана + там даже есть всего процесса, что я описал.

Мониторинг сетки — если беспокоитесь, что wordpress положит ваш слабенький хостинг — просто переезжайте на выделенные сервера, никаких проблем с падением посещаемых сайтов не будет. Администрируемые VPS в Украине по невероятно низким ценам! ISP Manager + 30$ на счет в качестве бонуса (код ISP+30) + переезд БЕСПЛАТНО!


 

Похожие статьи:



12 комментариев к “wordpress как полнофункциональная cms. Часть 1 — произвольные типы данных”


9643e5d7

  1. :

    Посмотри еще это:

    по беглому описанию мне показалось, что это куда удобней ;) .

    • ETNO:

      этот плагин тоже хорош, но он для других целей. Он для создания произвольных типов записей. Плагин о котором статья — он для создания произвольных полей. Т.е. он будет хорошо работать в связке с вашим

  2. k12:

    Спасибо, это грандиозно. Давно хотел найти что-то подобное, обязательно буду пробовать. «Небольшой цикл записей […] создания сайтов, которые имеют не блоговую структуру» — нужно обязательно продолжить :)

  3. :

    интересная и полезная информация

  4. :

    Полезний плагин, я такой тоже использую. Всем советую.

  5. Иван:

    Добрый день!

    Надеюсь на вашу помощь!

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

    Что бы он мог видеть другую цену со скидкой, нам нужно в его профиле прописывать процент на скидку в спец.поле для этого.

    Как это можно сделать?

    sdklimov@gmail.com

    • ETNO:

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

  6. Вадим:

    Здравствуйте, подскажите, как вывести, например, поля с ценой больше 1000?

    • ETNO:

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

  7. :

    привет.
    если изменить название сайта главной страницы-это скажется на его индексации?