С этой статьи начну небольшой цикл записей о том как намного улучшить удобство и гибкость 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) + переезд БЕСПЛАТНО!
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:
если изменить название сайта главной страницы-это скажется на его индексации?
Например, заголовок — post_title, дата — post_data.
А конкретные поля, если в ACF название testovoe_pole