wp options

wp_options: ¿Qué es?, ¿Para qué sirve?, ¿Cómo se puede optimizar?, y ¿Cómo puedo hacer uso de ella?

En este artículo vamos a ver qué es wp_options, para qué sirve y cómo optimizarla eliminando los rastros que van dejando algunos plugins y temas, y cómo puedo hacer uso de ella para desarrollos a medida.

 

¿Qué es wp_options?

Es una tabla de la base de datos donde WordPress guarda los ajustes de configuración. Su estructura es la siguiente:

  • option_id: Identificador único
  • option_name: Nombre de nuestra opción
  • option_value: Valor de nuestra opción
  • autoload: Carga o no esta opción cuando WordPress inicia (yes/no)

 

Aunque lo veremos más adelante en detalle, la idea es que podemos crear una opción y guardar su valor en base de datos, y recuperarlo para usarlo y/o modificarlo a nuestro antojo en cualquier momento.

 

¿Para qué sirve wp_options?

Básicamente, todo lo que se puede hacer desde la sección Ajustes en tu panel de control se relaciona con la tabla wp_options.

Los temas y plugins también recurren a esta tabla para guardar ajustes de configuración propios. Almacenan un par clave/valor, por lo que es ideal para esta tarea.

De este modo podemos guardar un valor por ejemplo para almacenar un teléfono de contacto, y recuperarlo en el footer para mostrar esta información.

 

¿Cómo puedo optimizarla?

Cómo esta tabla es utilizada para almacenar diversa información, tanto de WordPress como de los temas y plugins que hemos instalado, lo normal es que se vayan quedando rastros. Con el paso del tiempo los registros en esta tabla aumentan de forma exponencial, y podemos empezar a experimentar caídas de rendimiento y lentitud, por lo que es recomendable de vez en cuando limpiarla de esos registros que ya no se usan.

Como casi siempre podemos recurrir a plugins para realizar esta tarea como pueden ser WP-Options-Manager o Clean Options o WP Clean Up del que ya hablamos aquí, o hacerlo nosotros a mano.

Siempre que vayamos a hacer modificaciones sobre la base de datos, es recomendable hacer una copia de seguridad antes de nada. Vamos a ver cómo eliminar datos obsoletos de nuestra tabla wp_options. Nos referimos a los transients, de los que hablaré con más detalle en la próxima entrada. Simplemente añadiendo en nuestro functions.php estas líneas:

Muchos plugins utilizan esta tabla para almacenar información de configuración propia, pero algunos no tienen la buena costumbre de eliminarla cuando son desinstalados, por lo que habría que hacer una búsqueda directamente en base de datos y tratar de averiguar (algunos plugins usan prefijo propio para sus datos), qué registros pueden ser de plugins que ya no utilizamos y eliminarlos manualmente.

TRUCO

Si eres administrador de la web, accede al back-end y escribe a mano esta URL: http://www.tusitio.com/wp-admin/options.php, verás todos los registros de la tabla wp_options, incluso podrás modificarlos, y así te puedes hacer una idea de la dimensión de esta tabla sin necesidad de entrar en phpMyAdmin.

 

¿Cómo puedo hacer uso de ella para mis desarrollos a medida?

WordPress dispone de la Options API o API de opciones para trabajar cómodamente y de una manera eficaz con la tabla wp_options.

La API te permite crear, obtener, actualizar y eliminar registros en la tabla de opciones.

NOTA

Para WordPress multisite hay algunas variaciones, y tenemos disponibles las funciones add_site_option(), get_site_option(), update_site_option() y delete_site_option().

Puede que también te interese

Cómo crear una página de error de acceso a base de datos personalizada
En alguna ocasión nos podemos encontrar con un error de acceso a la base de datos por diversos motivos, y en estos casos nos aparece…
Seguridad WordPress: cambiar el prefijo wp_ de la base de datos
Siguiendo la máxima de no dar facilidades a un posible atacante, una recomendación antes de instalar un WordPress es cambiar el prefijo de la base…
Creando el .htaccess perfecto para WordPress
El fichero .htaccess es un archivo de configuración de Apache. Nos permite establecer reglas en un directorio, por ejemplo, WordPress lo usa para crear una…
Eliminar código innecesario del wp_head
Por defecto WordPress incluye una serie de meta-tags en la cabecera de nuestro sitio a través de la función wp_head(). La mayoría de estas etiquetas…