Recientemente lancé un complemento, WP Coda Slider , que utiliza códigos cortos para agregar un control deslizante jQuery a cualquier publicación o página. Estoy agregando una página de opciones en la próxima versión y me gustaría incluir algunas opciones de CSS, pero no quiero que el complemento agregue las opciones de estilo como CSS en línea. Quiero que las opciones se agreguen dinámicamente al archivo CSS cuando se llama.
También me gustaría evitar usar fopen o escribir en un archivo por problemas de seguridad.
¿Es algo así de fácil de lograr o sería mejor agregar las opciones de estilo directamente a la página?
plugin-development
css
options
Chris_O
fuente
fuente
wp_enqueue_style()
(ywp_enqueue_script()
) con un nombre de función en lugar de un nombre de archivo y hacer que mi función genere el CSS (o JS) pero que finalmente lo incluya a través de una hoja de estilo vinculada. Hasta donde sé, esto no es posible con laswp_equeue_*()
funciones. ¿Quizás deberíamos enviar un ticket de trac?Respuestas:
Use
wp_register_style
ywp_enqueue_style
para agregar la hoja de estilo. NO agregue simplemente un enlace de hoja de estilowp_head
. Los estilos de espera permiten que otros complementos o temas modifiquen la hoja de estilos si es necesario.Su hoja de estilo puede ser un archivo .php:
my-stylesheet.php se vería así:
fuente
Construir dinámicamente un archivo CSS y luego cargarlo agrega una enorme carga de rendimiento a lo que debería ser un acuerdo de ancho de banda muy bajo de agregar un archivo CSS, especialmente si hay variables en el CSS que se procesarán a través de WP. Debido a que se están creando dos archivos diferentes para una carga de página, WP se inicia dos veces y ejecuta todas las consultas de DB dos veces, y es un gran desastre.
Si su control deslizante solo va a estar en una página, y desea que los estilos se configuren dinámicamente, entonces su mejor opción es agregar un bloque de estilo al encabezado.
En orden de desempeño:
fuente
Así es como lo hago habitualmente:
fuente
He tenido dificultades con todas las recomendaciones de este tipo: tal vez soy un poco grueso, o tal vez los contribuyentes han perdido el toque común.
Me decidí a codificar esto en el archivo php del complemento:
Parece funcionar. Solo se carga en aquellas páginas que usan el complemento. Se carga después de la etiqueta h1 que está bien para mí. No puedo ver cómo podría ser más eficiente o más claro.
.... pero tal vez me equivoque, dije que era un poco gruesa.
fuente
<link>
elementos en el encabezado de la páginaActualización desde Wordpress 3.3
Hay una función llamada wp_add_inline_style que se puede usar para agregar estilos dinámicamente en función de las opciones de tema / complemento. Esto se puede usar para agregar un pequeño archivo css en la cabeza que debería ser rápido y eficiente.
fuente