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

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

Использование произвольных полей в WordPress

И так сама картинка темы находится в теле записи и кроме нее там более ничего нет, все остальные ссылки мы вписываем в блок под названием «Произвольные поля» который вы можете лицезреть на странице создания новой записи. Там имеется два поля «Ключ» и «Значение», в первое вводим название нашей переменной, т.е далее для считывания значения мы будем обращятса именно к этой переменной (ключу). Ключ вводим латиницей, в поле значениe вводим все что угодно, в нашем случае, к примеру вводим в поле ключ: down, в поле значение: http://themes.overme.ru/files/theme.zip

Теперь я расскажу как из вашего шаблона запросить и вывести нужный нам ключ. Для этого существует функция get_post_meta($post->ID, 'ключ', true), разберем по подробнее каждый параметр.

1. В первом параметре мы указываем ID записи, из которой в дальнейшем мы будем считывать нужное нам поле. Если вызов происходит из цикла указывайте $post->ID, т.е будет указан ID текущей записи.
2. Во втором параметре указывается имя ключа, в нашем случае down.
3. И в третьем указываем выводить ли единый результат (true), либо вывод массива (false).

Приведу пример использования данной функции из шаблона вашей темы:

<a href="<? echo get_post_meta($post->ID, 'down', true); ?>">Скачать</a>

Результатом выполнения будет ссылка на скачивания темы, тобиш вывод ключа down указанного вами в записи.

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

+ Возможности вывода дополнительных параметров из любого места вашего шаблона, т.е при смене либо изменение текущей темы вам не придется полностью менять все ваши записи, все будет работать и без лишних телодвижений.
+ Указание полей которые будут выводится только в одном месте, к примеру только в RSS ленте.
- Если вы смените тему, вам придется по новой вводить код вывода произвольных полей.
- Сложность для новичка

Сферы применения огромны, от указывания автора статьи или вашего текущего настроения (как в ЖЖ), до контента выводимого к примеру только в RSS ленте. Вы спросите как это сделать? Очень легко, после того как вы указали нужный ключ, откройте файл wp-includes/feed-rss2.php и найдите строчку:
[cc lang="html" tab_size="1" lines="1"]