Cette farce CSS fonctionne, mais est-ce une bonne pratique?

9

J'essaie d'inclure un CSS dynamique dans mon plugin, j'ai cherché n'importe où mais je ne trouve aucun cas similaire à ce que je fais. Et ce que j'utilise pour le faire, c'est en ajoutant un fichier css directement à la fin de mon fichier php de plugin après la fermeture de la balise php ?>sans ajouter d'autres éléments comme appeler wp head, etc.

Voici l'exemple du code que j'ai mis directement à la fin du fichier de mon plugin:

<style type="text/css">

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

</style>

Est-ce une bonne pratique?

Ari
la source

Réponses:

11

Vous pouvez utiliser wp_add_inline_style () pour ajouter à une feuille de style que vous avez déjà définie, comme dans votre plugin. De cette façon, un écran d'options ou d'autres paramètres utilisateur peuvent affecter la sortie du style final.

Cela pourrait cependant devenir très fastidieux, selon le nombre de modifications que vous accordez à l'utilisateur le pouvoir. Cependant, c'est la "meilleure pratique" pour autant que je sache.

GhostToast
la source
1
Et donc il y a des fonctions que je ne connais pas dans WP. :) +1 Bien sûr.
gmazzap
2

Bien sûr, ce n'est pas une bonne pratique, car elle sera considérée comme une erreur de plugin par Wordpress. Il affichera un message d'erreur sur l'activation du plugin comme ceci:

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.

Où le xxx est la quantité de codes + espaces que vous mettez après la ?>balise. C'est la même chose que localiser des espaces ou des codes non acceptés avant la première <?phpbalise dans votre plugin principal et / ou après.

Ari
la source
1

Je pense qu'il est possible d'écrire dynamiquement un fichier CSS en utilisant PHP, mais il faudrait en savoir plus, je n'en sais pas grand-chose moi-même. Je prévois de le faire bientôt, car j'ai remarqué que des gens mettaient BEAUCOUP de CSS dans un thème sur lequel je travaillais. C'est une mauvaise pratique à bien des égards, il vaut donc mieux éviter autant que possible. Malheureusement, il n'y a que 24 heures par jour ...!

Dan
la source
1

Si vous devez ajouter du CSS dynamique et qu'aucune feuille de style n'est déjà ajoutée à laquelle vous souhaitez l'ajouter, vous pouvez la connecter et la sortir dans le wp_headcrochet d'action:

<?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' );

N'ajoutez pas simplement le CSS à la fin de votre fichier de plugin. Cependant, pour autant qu'il s'agisse d'une "meilleure pratique", je ne sais pas. :)

jjeaton
la source