Я нашел скрипт декодера XML to WP, который хранит данные в виде массива в пользовательском метаполе. Каков наилучший способ извлечения информации?
Например, как можно отобразить поле «Произведено в» как «КАНАДА»?
[_ttn_i_details] => Array ( [0] => a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}} )
Пример кода выше был создан с помощью print_r(get_post_custom($post->ID));
.
Я действительно ценю любое понимание, независимо от того, насколько маленьким. :)
Ответы:
Используйте unserialize (), чтобы преобразовать его в массив.
Редактирование - связанная мысль - что следует иметь в виду при хранении сериализованных метаданных, так это то, что вы ограничиваете свою возможность использовать эти данные в запросах, если это вас беспокоит. например, не так просто написать запросы типа «покажи мне все детали, изготовленные в Канаде» или упорядочить результаты по идентификатору двигателя, так как эти данные спрятаны с кучей других данных в одном поле.
источник