web-dev-qa-db-fra.com

Ce CSS Stuffing fonctionne, mais est-ce une bonne pratique?

J'essaie d'inclure un css dynamique dans mon plugin. J'ai cherché partout, mais je n'ai trouvé aucun cas semblable à ce que je faisais. Et ce que j’utilise pour le faire est d’ajouter un fichier css directement à la fin de mon fichier plugin php 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?

9
KeepMove

Vous pouvez utiliser wp_add_inline_style () pour ajouter une feuille de style que vous avez déjà définie, telle que 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 peut toutefois devenir très fastidieux, en fonction du nombre de changements que vous donnez à l'utilisateur. Cependant, c'est la "meilleure pratique" pour autant que je sache.

11
GhostToast

Bien sûr, ce n'est pas une bonne pratique, car cela sera considéré comme une erreur de plugin par Wordpress. Il va générer un message d'erreur lors de 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ù xxx est la quantité de codes + espaces que vous avez placés après la balise ?>. C’est la même chose que de localiser un espace/s ou des codes non acceptés avant la première balise <?php dans votre plugin principal et/ou après celle-ci.

2
KeepMove

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

1
Dan

Si vous avez besoin d'ajouter du CSS dynamique et qu'aucune feuille de style ne soit déjà ajoutée, vous pouvez la brancher et la générer dans le hook d'action wp_head:

<?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 que cela soit une "meilleure pratique", je ne le sais pas. :)

1
jjeaton