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

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

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

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

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

Произвольные поля в WordPress - административная часть

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

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

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

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

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

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

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

Файл плагина произвольных полей - 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 – расширенное текстовое поле

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