Parametrizar opciones para un theme wordpress con OptionTree

OptionTree es un plugin de gran versatilidad. Te permite prácticamete crear cualquier opción para un theme dentro de un menú general en el administrador.

Una de las utilidades que más me ha ahorrado quebraderos de cabeza en proyectos es poder pre cargar campos con cualquier custom post type, para que sean accesoibles desde el panel admin wordpress.

Aquí podemos ver el menú generado para un proyecto concreto gracias a esta funcionalidad de OptionTree.

NOTA: Por defecto OptionTree sacará los layouts que configuremos bajo el menú Apariencia/Theme Options. Más adelante se explica como modificar este enlace.

optiontree

En este caso permitimos al administrador seleccionar que opciones, recogidas desde un custom post type de forma dinámica, aparecerán en un desplegable de un formulario en el contacto del website.

Para conseguirlo simplemente, configuramos como vemos en la siguiente imagen, dentro de settings de OptionTree, creamos un panel de opciones, seleccionando el Custom Post Type que nos interese:

optiontree2

Posteriormente para rescatar estas opciones desde código y poder manejarlas, usaremos la función del plugin ot_get_option(identificador_de_opcion)

Por ejemplo, para el caso concreto que hemos estado viendo, para recorrer las opciones que se chequaron por parte del administrador podemos hacer el siguiente bucle:

[code]$output = «<select name=’desp_eventos’ id=’desp_eventos’ onchange=’document.getElementById(\»desp_eventos\»).value=this.value;’><option></option>»;

if($items_eventos_desplegable):
foreach($items_eventos_desplegable as $key => $value ){
$evento_object=get_post($value);
$evento_title=$evento_object->post_title;
$output .= «<option value=’$evento_title’> $evento_title </option>»;

}
endif;
$output .= «</select>»;[/code]

Un último detalle, que puede resultar útil, es poder cambiar la etiqueta del item de menú para nuestras opciones. Yo he utilizado en plugin Admin Menu Editor ya que también lo necesito para otras cuestiones. Si se quiere prescindir de instalar otro plugin, se puede probar a hacer esta modificación dentro de la carpeta del plugin OptionTree, sobre la línea 28 del archivo admin_interface.php, cambiando «Theme Options» por el valor que nosotros queramos.

$of_page = add_submenu_page('themes.php', $themename, 'Theme Options', 'edit_theme_options', 'optionsframework','optionsframework_options_page');

Dejar un comentario

Tu dirección de correo electrónico no será publicada.