Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
campos personalizados

Campos personalizados para una plantilla determinada

En alguna ocasión podemos estar interesados en mostrar un metabox con campos personalizados o custom fields para una plantilla determinada o concreta, y no mostrarlos en el resto para tener el back-end limpio y ordenado, y no mostrar más datos de los necesarios.

Pongamos como ejemplo que tenemos una plantilla de página page-proveedor.php, donde tenemos unos campos personalizados de contacto: e-mail y teléfono. Cómo estos campos sólo los mostraremos en el front-end en las páginas que tengan esta plantilla, ¿por qué no hacer lo mismo en el back-end?

Vamos a ver cómo mostrarlos sólo en el caso que estemos editando una página y tengamos seleccionada la plantilla page-proveedor.php. Lo primero es agregar en nuestro functions.php un meta_box con la función add_meta_box, y después las funciones para crear los campos adicionales y guardar los datos al actualizar el post.

También en el functions.php agregaremos un archivo custom-fields.js en el action admin_print_scripts:

Por último, en este archivo custom-fields.js agregaremos estas líneas:

Como vemos, simplemente en el evento change del selector de plantilla de página (que tiene el ID #page_template), hacemos un toggle de nuestro ID del meta_box. El evento Toggle lo que hace es mostrar u ocultar el elemento seleccionado. En este caso le pasamos como parámetro la comprobación de si el valor del selector de plantilla es igual a page-proveedor.php. En caso de que sea true, se mostrará el meta_box, y se ocultará en caso contrario.

Por último lanzamos el evento .change() para que se ejecute en la carga de la página y muestre u oculte el meta_box según nuestras necesidades desde el inicio.

Puede que también te interese

Cómo agregar el generador de contraseña fuerte de WordPress en nuestro formulario de registro personalizado
Cómo agregar el generador de contraseña fuerte de WordPress en nuestro formulario de registro personalizado
En la entrada anterior veíamos cómo crear un formulario de registro personalizado en WordPress. En el ejemplo, generábamos una contraseña automáticamente, pero ahora vamos a…
Cómo desactivar Emojis en WordPress
Cómo desactivar Emojis en WordPress
A partir de la versión 4.2 de WordPress se ha introducido una nueva característica: Emojis Icons. Permite el uso de los iconos Emoji en los…
Sácale partido al personalizador de WordPress
Sácale partido al personalizador de WordPress
Con este título he tenido el honor y el privilegio de participar como ponente en la WordCamp Santander 2016. El personalizador de WordPress apareció en…
Seguridad WordPress: usa un Captcha para login
Seguridad WordPress: usa un Captcha para login
Otro “filtro” que podemos usar para proteger nuestro panel de administración o back-end. Instalando un plugin como WP Login reCAPTCHA, podremos insertar el reCAPTCHA de…