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

WP-CLI Parte 8, Scaffold: genera esqueletos de código para post types, taxonomías, plugins, child themes…
WP-CLI Parte 8, Scaffold: genera esqueletos de código para post types, taxonomías, plugins, child themes…
1. Instalación y primeros pasos 2. Instalando WordPress y primeros pasos y configuraciones 3. Trabajando con posts 4. Trabajando con usuarios 5. Trabajando con la…
Cómo solucionar el error de sintaxis en WordPress
Cómo solucionar el error de sintaxis en WordPress
WordPress es el CMS más utilizado para crear páginas web. Además, con una diferencia notable con respecto a otras alternativas. Es por esto que la…
Carga condicional de JS y CSS para mejorar el rendimiento y la velocidad de carga
Carga condicional de JS y CSS para mejorar el rendimiento y la velocidad de carga
En esta entrada vamos a ver una técnica de WPO muy importante dentro de la estrategia de optimización y mejora de rendimiento y velocidad de…
Cómo eliminar automáticamente los enlaces por defecto en las imágenes dentro del editor de WordPress
Cómo eliminar automáticamente los enlaces por defecto en las imágenes dentro del editor de WordPress
WordPress dispone de un sistema potentísimo para administrar el contenido multimedia de tu sitio web. Es muy fácil subir archivos, imágenes, etc…y siempre las tendremos…