Skip to main content

Добавление произвольных полей в WordPress

Произвольные поля или как их еще называют кастомные или доп. поля в WordPress очень нужная вещь, особенно при создании например сайта-каталога. С помощью доп. полей можно добавить к записям возможность указывать например цену или цвет, а затем выводить сохраненное значение на сайте.

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

Плагин который будем использовать это Advanced Custom Fields или просто ACF. Есть платная версия, в которой можно создавать поля с множественной загрузкой изображений, в бесплатной версии создаются поля, в которых можно загружать только одно изображение. Это единственное чего иногда реально не хватает, но есть и другие незначительные ограничения без которых можно обойтись. Возможно вам понравится какой-то другой плагин, но суть будет одинакова.

Добавление доп. полей с помощью плагина Advanced Custom Fields

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

Заходим в Группы полей → Добавить. Задаем название группы полей, а в условиях отображения создаем правила для указания, где будут выводиться поля.

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

Далее нажимаем кнопку «Добавить поле» и перед нами раскрываются его настройки. Основные из них это Ярлык поля, Имя поля и Тип поля.

Ярлык поля — название поля при редактировании.
Имя поля — заполняется автоматически при добавлении ярлыка. Но лучше использовать собственное имя на латинице, как в примере ниже.
Тип поля — поля текст, изображение, переключатель и т.д. ACF предоставляет возможность создать практически любой тип поля. Есть даже поля-отношения для добавления связей между самими записями, как в CMS 1С-Битрикс.

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

Вывод доп. полей на сайте

Все просто! Значение поля выводится с помощью функции get_field('имя_поля'). Для записей функция должна вызываться конечно же внутри цикла while. В данном примере выведем значение цены для записей:

 <?php
if(have_posts()){ while(have_posts()){ the_post();
	the_title();
	the_content();
	
	// вывод цены
	$price = get_field('price'); 
	echo 'Цена: ' . $price;
}}
else echo 'Записей нет';
?>

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code