Consejo Rápido: Crea una Página WordPress de Opciones Globales
() translation by (you can also view the original English article)
WordPress es una plataforma grandiosa para construir sitios web personalizados en una manera muy eficiente. WordPress administra toda esta magia en solo 11 tablas de bases de datos. wp_options es una de las tablas y actúa como la mente de un sitio web energizado por WordPress.
Esta tabla almacena toda la información relacionada a tu sitio web como nombre del sitio, slogan de descripción del sitio, URL del sitio y muchas otras cosas. Toda esta información puede ser tomada fácilmente usando la función get_option(), solo necesitas pasar el nombre del campo que quieres obtener. Por ejemplo: get_option('home')
devolverá la URL de la página de inicio.
Pero WordPress no da la oportunidad de agregar nuevas opciones a esta tabla que puede ser tomada fácilmente. Así que aquí hay un tutorial que crea un nueva página en tu admin WordPress y en esa página puedes guardar tus opciones globales personalizadas.
¿Qué Obtendremos?
SI quieres almacenar tu ID de Twitter entonces solo sigue este tutorial y tendrás tu ID de Twitter usando get_option('twitterid') en el tema activo de tu instalación WordPress.
Código
Aquí está el bloque de código, en donde iré a través de cada paso del código. Solo necesitas colocar este bloque de código en tu archivo functions.php
de tu tema activo y terminaste.
Paso 1 Agrega Menú Admin
Este paso solo agregará un nuevo menú para el admin con el cuál podremos ver nuestra página.
1 |
|
2 |
add_action('admin_menu', 'add_global_custom_options'); |
Paso 2 Asigna una Función Que Analice el Formulario Admin
Aquí asignaremos la función personalizada que creará un formulario.
1 |
|
2 |
function add_global_custom_options() |
3 |
{
|
4 |
add_options_page('Global Custom Options', 'Global Custom Options', 'manage_options', 'functions','global_custom_options'); |
5 |
}
|
Paso 3 Crea una Función Que Genere el Formulario
1 |
|
2 |
<?php
|
3 |
function global_custom_options() |
4 |
{
|
5 |
?>
|
6 |
<div class="wrap"> |
7 |
<h2>Global Custom Options</h2> |
8 |
<form method="post" action="options.php"> |
9 |
<?php wp_nonce_field('update-options') ?> |
10 |
<p><strong>Twitter ID:</strong><br /> |
11 |
<input type="text" name="twitterid" size="45" value="<?php echo get_option('twitterid'); ?>" /> |
12 |
</p>
|
13 |
<p><input type="submit" name="Submit" value="Store Options" /></p> |
14 |
<input type="hidden" name="action" value="update" /> |
15 |
<input type="hidden" name="page_options" value="twitterid" /> |
16 |
</form>
|
17 |
</div>
|
18 |
<?php
|
19 |
}
|
20 |
?>
|
Por favor nota que este formulario es solo para un campo por ahora. Si quieres hacerlo para más campos entonces tienes que seguir los pasos de abajo para cada uno.
1 -- Coloca una nueva caja de texto con un nombre único. Por ejemplo si quieres almacenar una página de Facebook entonces sería como abajo:
1 |
|
2 |
<p><strong>Facebook Page Links:</strong><br /> |
3 |
<input type="text" name="fb_link" size="45" value="<?php echo get_option('fb_link'); ?>" /> |
4 |
</p>
|
2 -- Necesitas actualizar el valor del campo oculto con el nombre "page_options", en este caso debería ser actualizado al valor de abajo.
1 |
|
2 |
<input type="hidden" name="page_options" value="twitterid,fb_link" /> |
Puedes ver que todos los nombres de opción son agregados aquí separados por una comma(,). Sin este paso nada funcionará como se espera.
¿Cómo Usarlo?
Después de colocar el código de arriba en functions.php
echa un vistazo a la página admin. Encontrarás un nuevo enlace en tu Menú Admin llamado "Opciones Globales Personalizadas".
Solo ingresa tus valores en ese formulario y estás listo para usar esos valores en tus archivos de tema como "get_option('twitterid')".
Mejora Futura
Este es solo un bloque de código de muestra con el entenderás cómo podría funcionar esta característica. Si quisieras, podrías entonces extender esta funcionalidad para codificar un complemento con el cuál pudieras crear estos campos de manera dinámica y generar el formulario de manera acorde.
¿Crees que este código te será útil en tus temas? Déjanos saber lo que piensas de esto en los comentarios.
Actualización: Mientras que este artículo muestra una manera rápida de lograr un resultado particular, no adhiere estrictamente a las mejores prácticas. Lectura recomendada en este tema: Usando la API de Ajustes: Parte 1 - Crea Una Página de Opciones de Tema