Произвольные поля в WordPress с помощью плагина

Опубликовано: 02.09.2018

видео Произвольные поля в WordPress с помощью плагина

Создание шаблона WordPress - Урок 17 Произвольны поля ( Advanced Custom Fields ) в WordPress

Хотелось бы рассказать читателям блога о том, как можно использовать произвольные поля в WordPress. Тот, кто уже знаком с произвольными полями, с удовольствием использует их и радуется жизни. В старой записи о произвольных полях я описал самый просто способ их использования, а сейчас я расскажу как удобнее использовать произвольные поля с помощью плагина. Недавно нашел более удобный плагин для произвольных полей , но сейчас не о нем.



Произвольные поля в кратце

Задача произвольного поля ( custom field ) очень простая – показать содержимое самого поля на сайте. Причем содержимым может быть практически что угодно, как простой текст, так и сложный код. А область применения произвольных полей на сайте ограничивается только вашей фантазией.


Микроразметка рецептов. Серия #2. Добавляем произвольные поля

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


ACF plugin WordPress - произвольные поля не отображаются на странице

Выводим произвольное поле на сайт

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

<?php echo get_post_meta($post->ID, 'имя произвольного поля', true); ?>

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

Плагин для произвольных полей в WordPress

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

Скачиваем плагин и заливаем в папку /wp-content/plugins/ . Плагин очень простой, но крайне полезный. Этот плагин работает следующим образом. В папке плагина есть файл conf.ini , где содержатся некоторые данные о используемых вами произвольных полях. Выглядит файл примерно так:

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

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

Выводим изображение с помощью произвольного поля

Чтобы показать картинку через произвольное поле, я делаю так. Открываю файл conf.ini в текстовом редакторе и в самое начало файла вставляю вот этот код:

[Выводим картинку] type = textfield size = 50 mymeta = thumb

Сохраняю файл и загружаю обратно на сервер. Тем самым я создал контейнер для произвольного поля с именем «thumb», куда позже смогу ввести значение. Чтобы это поле отобразилось на сайте, в файл темы single.php в нужное мне место я вставляю вот этот код:

<?php # выводим определенное произвольное поле $my_meta = get_post_custom_values( 'thumb', $ID ); if ( $my_meta) { echo '<img src="'; foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '" />'; } ?>

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

Выводим простой текст с помощью произвольного поля

Подобным образом я могу вывести любой текст с помощью произвольного поля и применить к этому полю свойства определенного класса. Предположим, что мне необходимо вывести цену в одиночной записи и применить к этому полю css класс «cena». В файл conf.ini я добавляю строки:

[Цена объекта] type = textfield size = 50 mymeta = cena

А в файл single.php добавляю такой вот код:

<?php # выводим определенное произвольное поле $my_meta = get_post_custom_values( 'cena', $ID ); if ( $my_meta) { echo '<div class=”cena”>'; foreach ( $my_meta as $val_key => $val_val ) echo $val_val . '</div>'; } ?>

Таим образом я вывожу в одиночной записи содержимое произвольного поля с именем «cena» и придаю этому содержимому свойства css класса «cena».

Если нужно просто вывести произвольное поле на сайт, достаточно следующего кода:

<?php # выводим определенное произвольное поле $my_meta = get_post_custom_values( 'сюда вставить имя произвольного поля', $ID ); if ( $my_meta) { foreach ( $my_meta as $val_key => $val_val ) echo $val_val . ''; } ?>

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

К файлу conf.ini  хотелось бы дописать несколько комментариев. Типы произвольных полей:

type = textfield – обычное техстовое поле

type = select – выпадающий список с предложенными значениями

type = checkbox – чекбокс или галочка в админке

type = textarea – расширенное текстовое поле

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

rss