WordPress 3.8 introdujo en el núcleo el plugin MP6 que, entre otras cosas, utiliza una fuente icónica llamada Dashicons para mostrar las fuentes en el panel.
Ahora, es bien sabido que register_post_type tiene un argumento 'menu_icon'
que permite especificar un icono personalizado para el CPT entrada del menú de administración.
En mis complementos / temas a menudo uso ese argumento con mis imágenes de íconos personalizados que normalmente están oscuras porque antes del menú de administración 3.8 tenía un fondo claro. Con el fondo de menú oscuro predeterminado en WP 3.8, mis iconos se vuelven casi invisibles.
Aparte de eso, creo que usar los nuevos dashicons para mi CPT será genial.
Después de algunas investigaciones, sé que solo puedo usar el CSS de los dashicons, algo como
#menu-posts-mycpt div.wp-menu-image:before { content: "\f226"; }
Sin embargo, al usar tanto el argumento 'menu_icon'
de register_post_type
como el css anterior imprimirá ambos íconos en WP 3.8 y un ícono + un carácter extraño en WP 3.8, y sin usar el argumento 'menu_icon'
, en versiones anteriores se usa el ícono predeterminado.
Sé que puedo agregar condicionalmente 'menu_icon'
en register_post_type
para las versiones WP 3.8 y agregar condicionalmente el css anterior para WP 3.8+, pero:
- que implica agregar algo de código (2 declaraciones condicionales) para cada CPT registrado, por lo que la actualización de complementos / temas es un trabajo difícil
- me parece más una solución que una solución elegante
Entonces, las preguntas son:
¿Es posible usar dashicons css para WP 3.8+ y usar una configuración de imagen personalizada a través de 'menu_icon'
param para versiones anteriores de una manera "más simple" que no implica agregar 2 condicionales por cada CPT registrado?
Y, si es así, ¿es posible hacerlo de alguna manera automágica directamente desde register_post_type
sin ningún código adicional?