¿Cómo recuperar un valor mediante get_option cuando el option_value está almacenado en un array multidimensional?
Estoy tratando de determinar cómo recuperar valores personalizados de wp_options cuando los valores están almacenados en un único array de opciones.
Por ejemplo, tengo los siguientes datos en wp_options para option_value donde option_name = "my_category_fields_option". El valor i:n representa el ID de la categoría que contiene los datos personalizados "my_title"]
a:2:{i:10;a:1:{s:8:"my_title";s:48:"Té Helado: Una Gran Elección para Refrescarse";}i:20;a:1:{s:8:"my_title";s:30:"El Té Negro es Bueno para el Alma";}}
¿Cómo podría recuperar el valor de "my_title" (que debería ser "Hello World") cuando estoy viendo la página de archivo de categoría para esta categoría?
// Ejemplo de cómo recuperar el valor
$options = get_option('my_category_fields_option');
$category_id = get_queried_object_id(); // Obtiene el ID de la categoría actual
$my_title = isset($options[$category_id]['my_title']) ? $options[$category_id]['my_title'] : '';

$term_id = get_query_var('cat'); // ID de la categoría actual
$my_fields = get_option('my_category_fields_option');
echo $my_fields[$term_id]['my_title']; // el título correspondiente a la categoría actual
(asumiendo que te refieres a ¿Algún ejemplo de cómo añadir campos personalizados al editor de categorías?)

Si pasas un array a update_option, se serializará automáticamente. Luego puedes recuperarlos como un array de esta manera.
$tempoptions = get_option("plugin-options");
if (!empty($tempoptions)) {
foreach ($tempoptions as $key => $option)
$options[$key] = $option;
}
Luego puedes hacer algo como var_dump ($options
) esto te mostrará todo el array.
Creo que utilizan las funciones maybe_serialize/maybe_unserialize/is_serialized del codex, pero nunca he investigado realmente. Acabo de encontrarlas ahora. http://codex.wordpress.org/Function_Reference/maybe_serialize
