четверг, июля 10, 2008

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

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

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

Так выглядит форма добавления полей в версии 2.3, от 2.5 думаю сильно не отличается.

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

 <?php the_meta(); ?>

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

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

Оставить комментарии.