Come recuperare un valore tramite get_option quando option_value è memorizzato in un array multidimensionale?

11 gen 2011, 21:07:09
Visualizzazioni: 23.2K
Voti: 3

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'] : '';
0
Tutte le risposte alla domanda 2
0
$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?)

11 gen 2011 21:25:24
0

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

11 gen 2011 21:59:45