Главная » Веб-разработка, Статьи и переводы

Как использовать произвольные поля в WordPress

10 Июль 2008 просмотров 13 748 комментариев 19


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

Как использовать произвольные поля в WordPress

Так выглядит форма добавления полей в версии 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.

Итак, шаг первый: добавляем новое произвольное поле:

Как использовать произвольные поля в WordPress

Я хочу добавить картинку, поэтому ключ называю 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 и теперь можем задать для него любые стили.

Возможности произвольных полей очень широки, поэтому не бойтесь их использовать и экспериментировать :)

Комментариев 19 »

  • ]]>Артём Курапов пишет: ]]>

    Помоему очень неудобная форма. Лучше совместить select и input в один искуственный combobox.

      Цитировать

  • ]]>Apathetic пишет: ]]>

    В новом дизайне моего блога я изначально заложил одно такое произвольное поле – теперь у моих записей есть подзаголовок =)

      Цитировать

  • ]]>Sanya пишет: ]]>

    Отменно! А я как раз не мог разобаться с тем как использовать эти поля ))

      Цитировать

  • ]]>Андрей пишет: ]]>

    Спасибо за информацию. Пригодилась.

      Цитировать

  • ]]>Seo resource пишет: ]]>

    А какой код нужен для чистого текста, например, “рекомендую посетить нашего споссора” и ссылка на него. Ваш пример для картинки.

      Цитировать

  • ]]>Mihail Svobodniu пишет: ]]>

    А как можно осуществить действие например:
    php echo get_post_meta($post->ID, “Nastroenie”, true);
    блин не знаю как объяснить но все же…
    Вот в поле я вписываю только “я щастлив”
    а на сайте будет видно “Настроение: я щастлив”
    Вот этот вариант не подходит:
    Настроение:php echo get_post_meta($post->ID, “Nastroenie”, true);
    Ну как сделать что бы текст появлялся до и после сообщения автоматом?
    с ув. Mihail Svobodniu

      Цитировать

  • ]]>vic пишет: ]]>

    А как вывести слайд шоу NEXT GEN GALERY за пределы главного цикла

      Цитировать

  • ]]>JAH пишет: ]]>

    такой вопросик: как указать мне указать путь к картинке если она локальном компе?
    я пока что указал так:
    http://localhost/wsj/wp-content/uploads/Dsc00918.jpg

    но када буду переносить на хостинг я же за..сь менять это локалхост
    как решить этот вопрос

    пс. если не сложно напишите на e-mail: jah_ss@i.ua

      Цитировать

  • ]]>Gregory пишет: ]]>

    У всех применение произвольных полей сводится к анонсам статьи или к оформлению, которое можно простым html-ом сделать. Есть, ребята ещё варианты? Так хочется чего-нибудь стоящего.. Например, чтобы расположить эскизы, как анонсы на новости, в ряд – как это сделать?

      Цитировать

  • ]]>Марат пишет: ]]>

    Я уже перерыл всю админку нету у меня произвольного поля! Может плагин какой надо устоновить! Можете мне в картинках показать где вы это “Произвольное поле” Бирете? Очень буду благодарен!

      Цитировать

  • ]]>Блог для вебмастеров пишет: ]]>

    На странице редактирования поста вверху справа есть кнопка “Настройки экрана” (рядом еще “Помощь”), там надо отметить галочкой “Произвольные поля”, чтобы они отображались при редактировании поста.

      Цитировать

  • ]]>Игорь пишет: ]]>

    Здравствуйте! Не подскажите как сделать форму для ввода произвольных полей, типа как в All in One SEO Pack. Т.е. чтобы не нужно было каждый раз выбирать из выпадающего списка добавленные поля.

      Цитировать

  • ]]>Блог для вебмастеров пишет: ]]>

    только отдельным плагином

      Цитировать

  • ]]>Dmitriy пишет: ]]>

    У меня вордпресс версии 3.1.1 На странице Редактировение записи я не могу найти закладку “Произвольные поля”. Где они могут быть?? Помогите пожалуйста, уже все вкладки обшарил. Извините, если вопрос кажется легким, просто движок поставил всего несколько дней назад(

      Цитировать

  • ]]>Блог для вебмастеров пишет: ]]>

    У меня вордпресс версии 3.1.1 На странице Редактировение записи я не могу найти закладку “Произвольные поля”. Где они могут быть?? Помогите пожалуйста, уже все вкладки обшарил. Извините, если вопрос кажется легким, просто движок поставил всего несколько дней назад(

    На странице редактирования поста вверху справа есть кнопка “Настройки экрана” (рядом еще “Помощь”), там надо отметить галочкой “Произвольные поля”, чтобы они отображались при редактировании поста.

      Цитировать

  • ]]>Dmitriy пишет: ]]>

    ой ,нашел. Нужно в “опциях отображения” поставить галку “произвольные поля”. Вот я ламер!

      Цитировать

  • ]]>Виталий пишет: ]]>

    На странице редактирования поста вверху справа есть кнопка “Настройки экрана” (рядом еще “Помощь”), там надо отметить галочкой “ ”, чтобы они отображались при редактировании поста.

    Как же я благодарен тем, кто пояснил, где находится эта ГАЛОЧКА!!! Произвольные поля!!! Я уже часа полтора пытаюсь найти где они отображаются, перерыл интернет!!!
    Спасибо, спасибо!!!!

      Цитировать

  • ]]>Joliat пишет: ]]>

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

      Цитировать

  • ]]>Блог для вебмастеров пишет: ]]>

    в запросе добавить атрибуты metakey и metavalue

      Цитировать

Комментарии

Добавьте ваш комментарий, или трекбэк с сайта. Вы также можете подписаться на комментарии к этой статье через RSS.

Вы можете использовать теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Чтобы получить аватарку, зарегистрируйтесь на Gravatar.