Come recuperare un valore tramite get_option quando option_value è memorizzato in un array multidimensionale?
Sto cercando di determinare come recuperare valori personalizzati da wp_options quando i valori sono memorizzati in un singolo array di opzioni.
Ad esempio, ho i seguenti dati in wp_options per option_value dove option_name = "my_category_fields_option". Il valore i:n rappresenta l'ID della categoria che contiene i dati personalizzati "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";}}
Come posso recuperare il valore di "my_title" (che dovrebbe essere "Hello World") quando sto visualizzando la pagina dell'archivio categorie per questa categoria?
La risposta dovrebbe includere:
// Ottieni l'ID della categoria corrente
$category_id = get_queried_object_id();
// Recupera l'array delle opzioni
$options = get_option('my_category_fields_option');
// Recupera il valore specifico per questa categoria
$my_title = isset($options[$category_id]['my_title']) ? $options[$category_id]['my_title'] : '';

$term_id = get_query_var('cat'); // ID della categoria corrente
$my_fields = get_option('my_category_fields_option');
echo $my_fields[$term_id]['my_title']; // il titolo corrispondente alla categoria corrente
(supponendo che ti riferisca a Esempi di aggiunta di campi personalizzati all'editor di categoria?)

Se passi un array alla funzione update_option, verrà automaticamente serializzato. Successivamente puoi recuperarlo come array in questo modo.
$tempoptions = get_option("plugin-options");
if (!empty($tempoptions)) {
foreach ($tempoptions as $key => $option)
$options[$key] = $option;
}
Poi puoi fare qualcosa come var_dump ($options
) che ti mostrerà l'intero array.
Credo che utilizzino le funzioni maybe_serialize/maybe_unserialize/is_serialized dal codex, ma non ho mai approfondito. Le ho appena trovate. http://codex.wordpress.org/Function_Reference/maybe_serialize
