Este relleno CSS funciona, pero ¿es una buena práctica?

9

Estoy tratando de incluir un CSS dinámico en mi complemento, he estado buscando en cualquier lugar pero no encuentro ningún caso que sea similar a lo que hago. Y lo que uso para hacerlo es agregar un archivo css directamente al final de mi archivo php del complemento después de cerrar la etiqueta php ?>sin agregar otras cosas como llamar a wp head, etc.

Aquí está el ejemplo del código que puse directamente al final del archivo de mi complemento:

<style type="text/css">

   .innertrow { background-color: <?php get_options('css_value');?>}

</style>

¿Es una buena práctica?

Ari
fuente

Respuestas:

11

Puede utilizar wp_add_inline_style () para agregar a una hoja de estilo que ya ha definido, como por ejemplo en su plugin. De esta forma, una pantalla de opciones u otras configuraciones del usuario pueden afectar la salida del estilo final.

Sin embargo, eso podría volverse muy tedioso, dependiendo de cuántos cambios le esté dando al usuario el poder. Sin embargo, es la "mejor práctica" que yo sepa.

Tostada fantasma
fuente
1
Y entonces hay funciones que no conozco en WP. :) +1 Por supuesto.
gmazzap
2

Por supuesto, no es una buena práctica, ya que Wordpress lo considerará un error de complemento. Aparecerá un mensaje de error en la activación del complemento como este:

The plugin generated xxx characters of unexpected output during activation. If you notice headers already sent messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.

Donde xxx es la cantidad de códigos + espacios que coloca después de la ?>etiqueta. Es lo mismo que ubicar espacio / s o códigos no aceptados antes de la primera <?phpetiqueta en su complemento principal o después.

Ari
fuente
1

Creo que es posible escribir dinámicamente un archivo CSS usando PHP, pero tendrías que averiguar más sobre él, no sé mucho sobre él. Estoy planeando hacerlo pronto, ya que noté que las personas ponen MUCHO CSS en el tema en el que estaba trabajando. Es una mala práctica en muchos sentidos, por lo que es mejor evitarla siempre que sea posible. Lamentablemente, solo hay 24 horas en un día ...!

Dan
fuente
1

Si necesita agregar CSS dinámico y no tiene una hoja de estilo ya agregada a la que desea agregarla, puede conectarla y generarla en el wp_headenlace de acción:

<?php
function wpse_111373_output_plugin_css() {
    ?>
    <style type="text/css">
        .innertrow { background-color: <?php get_option('css_value'); ?>;}
    </style>
    <?php
}
add_action( 'wp_head', 'wpse_111373_output_plugin_css' );

No solo agregue el CSS al final de su archivo de complemento. Sin embargo, en lo que respecta a esta es una "mejor práctica", no lo sé. :)

jjeaton
fuente