Cum se recuperează o valoare prin get_option când option_value este stocat într-un array multidimensional?
Încerc să determin cum să recuperez valori personalizate din wp_options când valorile sunt stocate într-un singur array de opțiuni.
De exemplu, am următoarele date în wp_options pentru option_value unde option_name = "my_category_fields_option". Valoarea i:n reprezintă ID-ul categoriei care conține datele personalizate "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";}}
Cum aș putea recupera valoarea pentru "my_title" (care ar trebui să fie "Hello World") când vizualizez pagina de arhivă a acestei categorii?

$term_id = get_query_var('cat'); // ID-ul categoriei curente
$my_fields = get_option('my_category_fields_option');
echo $my_fields[$term_id]['my_title']; // titlul corespunzător categoriei curente
(presupunând că vorbești despre Exemple de adăugare a câmpurilor personalizate în editorul de categorii?)

Dacă transmiți un array la update_option, acesta va fi automat serializat. Ulterior poți să-l recuperezi înapoi într-un array astfel:
$tempoptions = get_option("plugin-options");
if (!empty($tempoptions)) {
foreach ($tempoptions as $key => $option)
$options[$key] = $option;
}
Apoi poți face ceva de genul var_dump ($options
) pentru a afișa întregul array.
Cred că ei folosesc funcțiile maybe_serialize/maybe_unserialize/is_serialized din codex, dar nu am studiat în detaliu. Le-am găsit acum. http://codex.wordpress.org/Function_Reference/maybe_serialize
