it-swarm.com.ru

Как отобразить значение пользовательских полей на странице

У меня есть пользовательский тип записи, называемый "программное обеспечение", в котором содержатся различные настраиваемые поля, такие как субтитры, цена, снимки экрана, ссылка на скачивание и т.д. Я создал функцию, позволяющую использовать окно редактирования tinyMCE для некоторых из этих настраиваемых полей. Я пытался отобразить эти поля на странице, но безуспешно.

Метод, который я использую, таков:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

Вот ссылка на страницу.

Ниже <hr/> на странице находится список всех созданных мета. Единственное из полей, которое будет отображаться, это "цена" по какой-то странной причине.

Кто-нибудь есть идеи, что я скучаю?

15
dvmac01

Ну, вы используете:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

Итак, вы говорите Wordpress, чтобы получить мета-значение поля 'subtitle' и вернуть возвращаемое значение в формате строки. Смотрите get_post_meta () document .

Чтобы получить все метаданные сообщения, вы должны использовать вместо него get_post_custom () function. Например, если вы находитесь внутри цикла:

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

Это вернет все метаданные поста. Если вы хотите проверить, например, метаполе "цена":

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'];
}
15
cybmeta

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

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
2
prempal sharma