Skip to main content

Agregar una página de configuración a un tema WordPress – OptionsFramework

wordpress-options-framework-pluginSi quieres desarrollar tu propio tema WordPress (o ya lo estás haciendo), llegará el momento en que necesites agregar a tu nuevo tema una página de opciones para todas las configuraciones del mismo.

He buscado mucho acerca de Frameworks ya listos para crear éste tipo de página ya que crear uno desde cero toma su tiempo y no es necesario inventar la rueda por segunda vez…

El mejor Framework es OptionsFramework que tiene una API muy sencilla y todas las funciones necesarias para crear el panel de opciones de tu tema. OptionsFramework es muy fácil de integrar en cualquier tema e incluye filtros para validar los datos ingresados por el usuario.

Integración de OptionsFramework en tu tema

  1. Descarga la última versión de OptionsFramework Theme desde GitHub aquí.
  2. Descomprime los contenidos del zip en alguna parte de tu PC.
  3. Copia la carpeta /inc/ al directorio principal de tu tema.
  4. Copia /options.php al directorio principal de tu tema.
  5. Copia el contenido que hay dentro del archivo /functions.php al final del archivo /functions.php de tu tema:
if ( !function_exists( 'optionsframework_init' ) ) {
 define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/inc/' );
 require_once dirname( __FILE__ ) . '/inc/options-framework.php';
 }

El archivo /options.php que copiaste a tu tema contiene códigos de ejemplo para todas las funciones que tiene OptionsFramework. El primer «párrafo» de código define un identificador basado en el nombre de tu tema para almacenar todas las opciones en la base de datos. Aquí no necesitas cambiar nada.

function optionsframework_option_name() {
	// This gets the theme name from the stylesheet
	$themename = wp_get_theme();
	$themename = preg_replace("/W/", "_", strtolower($themename) );
	$optionsframework_settings = get_option( 'optionsframework' );
	$optionsframework_settings['id'] = $themename;
	update_option( 'optionsframework', $optionsframework_settings );
}

Después viene la función en la que puedes insertar todas las opciones que necesitas (Aquí un ejemplo para una página de opciones en la que sólo se puede cambiar un texto:

function optionsframework_options() {
	$options = array();

	$options[] = array(
		'name' => 'Nombre del sitio:',
		'desc' => 'Ingrese un nombre para su sitio web.',
		'id' => 'nombre_sitio',
		'std' => 'Default',
		'class' => 'mini',
		'type' => 'text');
}

Cada opción se guarda en un array() y hay varios parámetros para personalizar la opción.

  1. «name»: El nombre de la opción que se muestra al usuario.
  2. «desc»: Aquí puedes insertar una descripción acerca de la opción para mostar al usuario.
  3. «type»: Indica el tipo de la opción. Si el tipo es «heading», se crea una nueva pestaña de configuración y todo lo que haya después de éste «heading» estará en ésta pestaña. (Hasta que se crea una nueva pestaña con otra opción tipo «heading» – por supuesto)
  4. «id»: Indica una ID única para usar el valor de la opción en el tema.
  5. «std»: Aquí puedes poner el valor predeterminado de la opción.

Algunos tipos de opciones se configuran de una forma un poco diferente. Mira el código de ejemplo en /options.php!

Para insertar el valor personalizado por un usuario de cualquier opción, sólo necesitas insertar una pequeña función en tus archivos PHP:

echo of_get_option('nombre_sitio');

En el caso del ejemplo anterior, necesitarías cambiar ‘ID’ por ‘texto_ejemplo’ que es la ID que hemos especificado entonces.

Espero que ésta información te haya servido en algo!

Jens Wagner

Fundador de Fosforito.Net y aficionado de las tecnologías de información, del viajar y cocinar. Trabaja en la IT y mantiene éste blog actualizado desde 2012.

3 comentarios en “Agregar una página de configuración a un tema WordPress – OptionsFramework”

Los comentarios están cerrados.