Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Opciones de Wordpress en un Array

Estas en el tema de Opciones de Wordpress en un Array en el foro de WordPress en Foros del Web. Buenas tardes, Estoy creando un panel de opciones para una plantilla de Wordpress. Utilizo la API Settings de Wordpress y cuando guardo los cambios bajo ...
  #1 (permalink)  
Antiguo 09/08/2013, 08:33
Avatar de seozeta  
Fecha de Ingreso: junio-2013
Mensajes: 98
Antigüedad: 11 años, 5 meses
Puntos: 66
Opciones de Wordpress en un Array

Buenas tardes,

Estoy creando un panel de opciones para una plantilla de Wordpress. Utilizo la API Settings de Wordpress y cuando guardo los cambios bajo Wamp Server, se oye el procesador (?) y se demora casi un segundo porque el array es muy grande. En Lamp Server no lo noto tanto.

No uso ningún Framework de opciones de Wordpress.

Mi pregunta es: ¿Hay alguna diferencia de rendimiento entre el array 1 y el array 2?

Array 1:
Código PHP:
global $options;
$options = array ();

                
$options[] = array(  "name" => "Nombre de opción",
                        
"desc" => "Activar opción",
                        
"id" => $shortname."_activar_loquesea",
                        
"type" => "checkbox",
                        
"std" => "false"); 
Array 2:
Código PHP:
$options = array (

               array(  
"name" => "Nombre de opción",
                        
"desc" => "Activar opción",
                        
"id" => $shortname."_activar_loquesea",
                        
"type" => "checkbox",
                        
"std" => "false");

); 
Los dos me funcionan igual y el tiempo de espera es el mismo, pero habiendo dos maneras me pregunto si una es mejor que la otra.

Saludos :)

Edito: También me estoy planteando si en lugar de un gran multi-array debería usar pequeños multi-array.

Última edición por seozeta; 09/08/2013 a las 08:48
  #2 (permalink)  
Antiguo 09/08/2013, 16:29
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Opciones de Wordpress en un Array

Básicamente ambos devuelven lo mismo. Obviamente la diferencia está en que el de arriba llama a una variable global cuya construcción desconozco (por cierto, en el segundo ejemplo se aprecia un punto y coma que se coló en la fiesta).

Cita:
Iniciado por seozeta Ver Mensaje
Edito: También me estoy planteando si en lugar de un gran multi-array debería usar pequeños multi-array.
O quizás simplificar tu código de manera que captures los patrones repetitivos en una función y hagas una salida común para todo. En ocasiones un dinosaurio de 700 líneas puede resumirse sin problemas en 8 líneas.
  #3 (permalink)  
Antiguo 10/08/2013, 01:25
Avatar de seozeta  
Fecha de Ingreso: junio-2013
Mensajes: 98
Antigüedad: 11 años, 5 meses
Puntos: 66
Respuesta: Opciones de Wordpress en un Array

Cita:
Iniciado por metacortex Ver Mensaje
Básicamente ambos devuelven lo mismo. Obviamente la diferencia está en que el de arriba llama a una variable global cuya construcción desconozco (por cierto, en el segundo ejemplo se aprecia un punto y coma que se coló en la fiesta).

O quizás simplificar tu código de manera que captures los patrones repetitivos en una función y hagas una salida común para todo. En ocasiones un dinosaurio de 700 líneas puede resumirse sin problemas en 8 líneas.
La construcción completa del Array 2 se puede ver en este tutorial que seguí al pie de la letra. (Aunque yo lo encontré "maquetado" con tablas xD (en la web está con divs). Esto lo cambié y le integré el jQuery Accordion).

Creo que es el que usaban anteriormente en WooThemes. En cambio, si miramos actualmente el array en sus guías, ya sale tal y como lo puse en el Array 1.

Por el tema de la global, es un añadido de adaptación que le puse al Array 2 para imitar el nuevo de WooThemes, pero creo que no hace nada, ya que luego tengo que llamar igualmente a la variable cada vez que quiero usar las opciones, con esta sentencia:

Código PHP:
Ver original
  1. global $options;foreach ($options as $value) {
  2. if (get_option( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_option( $value['id'] ); }
  3. }

Pienso que el Array 2 puede quedar anticuado. He visto que hay muchos Frameworks para crear opciones en las plantillas, como NHP Framework o el popular Options Framework. Estos utilizan el Array 1 y el código total es bastante más extenso, con ficheros para sanitization y todo. La construcción completa de su código se puede ver en el mismo GitHub.

Igual es una tontería y debería dejarlo como lo tengo: usar el Array 2 porque ya lo tengo hecho y olvidarme de Frameworks. Pero me preocupa por si a mi código le faltarán cosas o quedará obsoleto a los 4 días —de momento parece que lleva mucho en la red—. ¿Lo dejarías como el del tutorial que seguí o lo cambiarías usando un Framework?

Etiquetas: opciones, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:20.