Как отобразить значение настраиваемых полей на странице
-
-
это действительно функция `get_post_meta ()`,и если вы вызываете ее внутри цикла,она должна работать ... Если вы не используете правильное имя настраиваемого поля.Они часто поставляются с префиксом,если реализованы с помощью плагина,такого как мета-бокс.Можете ли вы опубликовать код,как вы объявляете свои настраиваемые поля?Решением было бы открыть таблицу wp_postmeta в PhpMyAdmin и найти в столбце `meta_key` LIKE% ...% и указать« subtitle »как значениеmeta_key.Вы точно увидите,под каким именем Wordpress хранит ваше настраиваемое поле.it is indeed the `get_post_meta()` function, and if you are calling it inside the loop, it should work... Unless you're not using the right custom field name. They often come with a prefix if they are implemented via a plugin like meta-box. Can you post the code how you declare your custom fields? A solution would be to open the wp_postmeta table in PhpMyAdmin and search the column `meta_key` for LIKE %...% and specify "subtitle" as meta_key value. You will see exactly under what name Wordpress is storing your custom field.
- 0
- 2013-09-13
- pixeline
-
Я знаю,что это старый,но я использую этот sql для получения списка всех метаполей вphpmyadmin: SELECTm.meta_key FROM wp_postmetam GROUP BYm.meta_keyI know this is old, but I use this sql to get a list of all meta fields in phpmyadmin: SELECT m.meta_key FROM wp_postmeta m GROUP BY m.meta_key
- 0
- 2015-11-10
- ssaltman
-
2 ответ
- голосов
-
- 2013-09-13
Итак,вы используете:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Итак,вы говорите Wordpress,чтобы получить мета-значение поля «субтитры» и чтобы возвращаемое значение было в формате строки.См. Документ get_post_meta () .
Чтобы получить все метаданные сообщения,вместо этого используйте функцию get_post_custom () .Например,если вы находитесь внутри цикла:
$custom = get_post_custom(); foreach($custom as $key => $value) { echo $key.': '.$value.'<br />'; }
Это вернет все метаданные сообщения.Если вы хотите проверить,например,мета-поле "цена":
if(isset($custom['price'])) { echo 'Price: '.$custom['price'][0]; }
Well, you are using:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
So, you are saying to Wordpress to get the meta value of the 'subtitle' field and that the returned value be in format of string. See get_post_meta() docu.
To get all meta data of a post you should use get_post_custom() function instead. For example, if you are inside the loop:
$custom = get_post_custom(); foreach($custom as $key => $value) { echo $key.': '.$value.'<br />'; }
This will return all meta data of the post. If you want to check, for example, the "price" meta field:
if(isset($custom['price'])) { echo 'Price: '.$custom['price'][0]; }
-
Отсутствует последний блок кода а)Last code block is missing a )
- 0
- 2018-04-28
- carbide20
-
похоже,что `$ custom ['price']` возвращает массив,поэтому вам может потребоваться выполнить `$ custom ['price'] [0]`it appears that `$custom['price']` returns an array so you may need to do `$custom['price'][0]`
- 1
- 2019-06-25
- wal
-
- 2015-07-30
используйте этот код для решения вашей проблемы.
$key_name = get_post_custom_values($key = 'Key Name'); echo $key_name[0];
use this code for solving your problem.
$key_name = get_post_custom_values($key = 'Key Name'); echo $key_name[0];
У меня есть собственный тип сообщения под названием "программное обеспечение",в котором содержатся различные настраиваемые поля,такие как субтитры,цена,снимки экрана,ссылка для скачивания и т. д. Я создал функцию,позволяющую использовать окно редактированияtinyMCE для некоторых из этих настраиваемыхполя.Я пытался отобразить эти поля на странице,но безуспешно.
Я использую следующий метод:
Вот ссылка на страницу.
Под
<hr/>
на странице находится список всех созданных метаданных.По какой-то странной причине ТОЛЬКО одно из полей,которое будет отображаться,- это «цена».Кто-нибудь знает,что мне не хватает?