Me gustaría tener una interfaz de campo personalizada que se muestre solo cuando se asigne una plantilla determinada a una página particular de WordPress.
¿Algunas ideas?
wp-admin
conditional-tags
Jonathan Wold
fuente
fuente
Respuestas:
La mejor manera de abordar esta situación es a través de JavaScript. De esa manera, cada vez que cambie el valor seleccionado, puede ocultar / mostrar instantáneamente el metabox relacionado.
Utilizar
wp_enqueue_script()
enfunctions.php
cargar un archivo JavaScript personalizada en el área de administración:El script en sí, que requiere jQuery, simplemente oculta o muestra un metabox basado en el valor seleccionado en la lista desplegable de la plantilla de página. En este ejemplo, solo estoy mostrando el metabox para miniaturas de publicaciones en caso de que se seleccione la plantilla de página predeterminada:
Y, solo por diversión, aquí hay una versión más corta y menos detallada del mismo script:
fuente
En lugar de representar el metabox solo para ocultarlo con jQuery, puede usar esto. La única diferencia es que ocultar / mostrar el metabox requiere seleccionar 'Actualizar' después de cambiar el campo desplegable.
Simplemente actualice las líneas 6 y 7 según lo desee.
fuente