Как получить значение через get_option, когда option_value хранится в многомерном массиве?
Я пытаюсь определить, как получить пользовательские значения из wp_options, когда значения хранятся в одном массиве опций.
Например, у меня есть следующие данные в wp_options для option_value, где option_name = "my_category_fields_option". Значение i:n представляет id категории, которая содержит пользовательские данные "my_title"]
a:2:{i:10;a:1:{s:8:"my_title";s:48:"Iced Tea: A Great Choice for Cooling Refreshment";}i:20;a:1:{s:8:"my_title";s:30:"Black Tea is Good for the Soul";}}
Как мне получить значение "my_title" (которое должно быть "Hello World"), когда я просматриваю страницу архива этой категории?

$term_id = get_query_var('cat'); // получаем ID текущей категории
$my_fields = get_option('my_category_fields_option');
echo $my_fields[$term_id]['my_title']; // выводим заголовок, соответствующий текущей категории
(предполагается, что речь идет о примерах добавления произвольных полей в редактор категорий)

Если передать массив в функцию update_option, он будет автоматически сериализован. Позже вы можете извлечь его обратно в массив следующим образом.
$tempoptions = get_option("plugin-options");
if (!empty($tempoptions)) {
foreach ($tempoptions as $key => $option)
$options[$key] = $option;
}
Затем можно выполнить что-то вроде var_dump ($options
), что покажет вам весь массив.
Думаю, они используют функции maybe_serialize/maybe_unserialize/is_serialized из кодекса, но я никогда не углублялся в это. Просто нашел их сейчас. http://codex.wordpress.org/Function_Reference/maybe_serialize
