Как отобразить значения пользовательских полей на странице
У меня есть произвольный тип записи 'software', который содержит различные пользовательские поля, такие как подзаголовок, цена, скриншоты, ссылка для скачивания и т.д. Я создал функцию для использования редактора tinyMCE для некоторых из этих пользовательских полей. Я пытаюсь отобразить эти поля на странице, но безуспешно.
Метод, который я использую:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
Вот ссылка на страницу.
Ниже тега <hr/>
на странице находится список всех созданных мета-данных. По какой-то странной причине отображается ТОЛЬКО поле 'price'.
Кто-нибудь знает, что я упускаю?
Итак, вы используете:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Таким образом, вы указываете WordPress получить значение метаполя 'subtitle' и вернуть его в строковом формате. Смотрите документацию get_post_meta().
Чтобы получить все метаданные записи, вам следует использовать функцию get_post_custom(). Например, если вы находитесь внутри цикла:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
Это вернет все метаданные записи. Если вы хотите проверить, например, метаполе "price":
if(isset($custom['price'])) {
echo 'Цена: '.$custom['price'][0];
}
