web-dev-qa-db-fra.com

WordPress Shortcode et CSS dynamique

J'ai une question que je voudrais poser aux développeurs WordPress. Habituellement, lors de la création d'un shortcode devant générer un css personnalisé, comment procédez-vous?

Par exemple, un simple shortcode avec les options suivantes:

  • texte
  • lien
  • couleur du texte
  • couleur de fond
  • survolez la couleur du texte
  • couleur de fond en vol stationnaire

Le problème est l'option de couleur de survol, je voudrais le générer dynamiquement directement dans un fichier css sans avoir à mettre aucun css personnalisé dans le bloc d'en-tête ou <style></style> inline de la page.

Le shortcode doit bien sûr fonctionner s'il est utilisé plusieurs fois dans la même page.

Je pense utiliser wp_add_inline_style ou wp_filesystem.

L'objectif principal de cette question est de créer un shortcode avec des CSS personnalisés ajoutés dans un fichier CSS dynamique ou un moyen de ne pas ajouter de CSS personnalisé directement dans la page, mais de pouvoir ajouter un attribut de survol.

Si possible, j'aimerais y parvenir avec seulement php html et css, mais s'il n'y a pas de solution, je pense aussi à utiliser javascript.

Tout conseil serait génial.

Cordialement

3
Lucas Selsek

Le plus proche d'une technique de référence dans le noyau serait [gallery] shortcode.

Si vous regardez la source d'implémentation de gallery_shortcode() function, vous verrez qu'il:

  1. Génère un numéro d'instance (afin de pouvoir distinguer plusieurs codes courts).
  2. Génère des CSS dynamiques en ligne dans une source de page, pour chaque instance.

Je ne considérerais pas cela particulièrement neat solution, mais c'est à peu près aussi proche que cela se fait dans les contraintes de l'architecture WP.

3
Rarst