Как использовать произвольные поля в WordPress
Знаете ли вы, что такое произвольные поля в Worpress? Большинство блоггеров-новичков не использует их из-за того, что просто не знают как вывести их в статье.

Так выглядит форма добавления полей в версии 2.3, от 2.5 думаю сильно не отличается.
Произвольное поле имеет ключ и присваиваемое ему значение. Существует несколько способов вывода произвольных полей, но общая функция, отвечающая за эти данные имеет вид:
<?php the_meta(); ?>
Спонсоры новости: Вся реклама в одном месте на Yatrash.ru – web-дизайн, графический дизайн, наружная реклама.
Пора делать ремонт – сегодня ночью с женой сломали кровать.
Хотите получить кредит на авто? Для вас мы предлагаем любые банковские услуги.
Хотите стать спонсором?
Чтобы вывести все произвольные поля, нужно вставить данный код в цикл, который отвечает за вывод ваших постов - это самый простой способ. По умолчанию html код будет выглядеть так:
<ul class='post-meta'> <li><span class='post-meta-key'>ключ:</span> значение</li> </ul>
Разберем пример.
Допустим мы хотим вывести одно единственное произвольное поле. Для этого будем использовать функцию:
get_post_meta($post_id, $key, $single);
Параметры в скобках имеют следующие значения:
- $post_id – это ID статьи, в которой храняться мета данные. Как правило, это ID текущей статьи, поэтому значение параметра будет: $post->ID
- $key - это название ключа, которые мы ввели в форму добавления произвольного поля.
- $single – может принимать значение true или false. Если устанавливаем true, тогда функция вернет нам единственный результат вввиде строки. Если false, либо без значения, тогда возвращается весь массив данных с произвольными полями. Это необходимо если для одного и того же ключа вы указали разные значения. В нашем примере будем использовать true.
Итак, шаг первый: добавляем новое произвольное поле:

Я хочу добавить картинку, поэтому ключ называю my_image, а в поле "значение" пишу путь к картинке.
Шаг второй. Теперь, чтобы вывести изображение в статье, добавляем в код страницы single.php, например, после the_content() (но обязательно в цикле while (have_posts()) ):
<?php $image = get_post_meta($post->ID, 'my_image', true); ?> <img src="<?php echo $image; ?>" alt="Бабочка" />
Шаг третий. Смотрим что получилось :) (В конце поста изображение с бабочкой).
Еще один способ применения произвольных полей – добавления класса или id к какому либо блоку. Например, нужно выделить пост новым фоном. Для этого добавим поле с ключом my_class и значением new_fon – это и будет название класса.
А в коде страницы вывода статьи добавим:
<?php $additional_class = get_post_meta($post->ID, 'my_class', true); ?> <div class="my_post <?php echo $additional_class;?> "> the_content(); </div> ?>
Таким образом мы обрамили контент новым блоком с классом new_fon и теперь можем задать для него любые стили.
Возможности произвольных полей очень широки, поэтому не бойтесь их использовать и экспериментировать :)




Dmoz
Помоему очень неудобная форма. Лучше совместить select и input в один искуственный combobox.
Артём КураповЦитировать
В новом дизайне моего блога я изначально заложил одно такое произвольное поле – теперь у моих записей есть подзаголовок =)
ApatheticЦитировать
Отменно! А я как раз не мог разобаться с тем как использовать эти поля ))
SanyaЦитировать
Спасибо за информацию. Пригодилась.
АндрейЦитировать
А какой код нужен для чистого текста, например, “рекомендую посетить нашего споссора” и ссылка на него. Ваш пример для картинки.
Seo resourceЦитировать
А как можно осуществить действие например:
php echo get_post_meta($post->ID, “Nastroenie”, true);
блин не знаю как объяснить но все же…
Вот в поле я вписываю только “я щастлив”
а на сайте будет видно “Настроение: я щастлив”
Вот этот вариант не подходит:
Настроение:php echo get_post_meta($post->ID, “Nastroenie”, true);
Ну как сделать что бы текст появлялся до и после сообщения автоматом?
с ув.
Mihail SvobodniuЦитировать
А как вывести слайд шоу NEXT GEN GALERY за пределы главного цикла
vicЦитировать
такой вопросик: как указать мне указать путь к картинке если она локальном компе?
я пока что указал так:
но када буду переносить на хостинг я же за..сь менять это локалхост
как решить этот вопрос
пс. если не сложно напишите на e-mail: jah_ss@i.ua
JAHЦитировать
У всех применение произвольных полей сводится к анонсам статьи или к оформлению, которое можно простым html-ом сделать. Есть, ребята ещё варианты? Так хочется чего-нибудь стоящего.. Например, чтобы расположить эскизы, как анонсы на новости, в ряд – как это сделать?
GregoryЦитировать
Я уже перерыл всю админку нету у меня произвольного поля! Может плагин какой надо устоновить! Можете мне в картинках показать где вы это “Произвольное поле” Бирете? Очень буду благодарен!
МаратЦитировать
На странице редактирования поста вверху справа есть кнопка “Настройки экрана” (рядом еще “Помощь”), там надо отметить галочкой “Произвольные поля”, чтобы они отображались при редактировании поста.
Блог для вебмастеровЦитировать
Здравствуйте! Не подскажите как сделать форму для ввода произвольных полей, типа как в All in One SEO Pack. Т.е. чтобы не нужно было каждый раз выбирать из выпадающего списка добавленные поля.
ИгорьЦитировать
только отдельным плагином
Блог для вебмастеровЦитировать
У меня вордпресс версии 3.1.1 На странице Редактировение записи я не могу найти закладку “Произвольные поля”. Где они могут быть?? Помогите пожалуйста, уже все вкладки обшарил. Извините, если вопрос кажется легким, просто движок поставил всего несколько дней назад(
DmitriyЦитировать
На странице редактирования поста вверху справа есть кнопка “Настройки экрана” (рядом еще “Помощь”), там надо отметить галочкой “Произвольные поля”, чтобы они отображались при редактировании поста.
Блог для вебмастеровЦитировать
ой ,нашел. Нужно в “опциях отображения” поставить галку “произвольные поля”. Вот я ламер!
DmitriyЦитировать
Как же я благодарен тем, кто пояснил, где находится эта ГАЛОЧКА!!! Произвольные поля!!! Я уже часа полтора пытаюсь найти где они отображаются, перерыл интернет!!!
Спасибо, спасибо!!!!
ВиталийЦитировать
Подскажите как можно вывести все посты относящиеся к определенному значению одного из произвольных полей.
JoliatЦитировать
в запросе добавить атрибуты metakey и metavalue
Блог для вебмастеровЦитировать