Как вывести все значения (values) одного ключа (key) произвольного поля?
есть ключ mykey, у него несколько значений
пробовала так:
<?php
$mykey_values = get_post_custom_values('my_key');
foreach ( $mykey_values as $key => $value ) {
echo $key . " => " . $value . "<br />";
}
?>
(пример из кодекса), где обещается:
«Returns an array containing all the values of the custom fields with a particular key ($key) of a particular post ($post_id). Returns nothing if no such key exists, or none is entered. »
А в ответ – ошибка:
Warning: Invalid argument supplied for foreach() in /home/siteru/www/site.ru/wp-content/themes/mytheme/column1.php on line 60
А что я не так делаю-то? 🙁
Нашла рабочий код!
Может кому тоже пригодится:
http://wordpress.org/support/topic/154617?replies=7#post-810406
Это классическая ситуация: отсутствует проверка на не пустой $mykey_values. Стоит добавить перед foreach что типа if (!empty($mykey_values). Впрочем, ворнинг – не фатал. 🙂
В примерах часто намеренно опускают эти проверки, чтобы не загромождать код. А в боевых программах часто про такие проверки забывают, что порой приводит к очень нехорошим последствиям. Вообще-то, хорошая программа более чем наполовину состоит из таких проверок и обработчиков нештатных ситуаций.
Дык у меня там не пусто было – 2 value забила к ключу mykey в тестовом посте – чтобы видеть, когда подбор кода увенчается успехом 🙂