Знаете ли вы, что такое произвольные поля в Worpress? Большинство блоггеров-новичков не использует их из-за того, что просто не знают как вывести их в статье.
Так выглядит форма добавления полей в версии 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.
Итак, шаг первый: добавляем новое произвольное поле:
Я хочу добавить картинку, поэтому ключ называю 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 и теперь можем задать для него любые стили.
Возможности произвольных полей очень широки, поэтому не бойтесь их использовать и экспериментировать :)