Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/nicolascaen/up-shortcodes-library/archive/refs/heads/Master.zipGestion des shortcodes via un Custom Post Type, avec édition (PHP / JS / SCSS), compilation SCSS→CSS et génération de fichiers dans le thème.
Fonctionnalités
- CPT
up-shortcodesavec metabox d’édition:- Code PHP du shortcode (contenu de
add_shortcode(...)). - JavaScript (optionnel) chargé pour le shortcode.
- SCSS/CSS (optionnel) pour le style du shortcode.
- CSS compilé (lecture seule): aperçu mis à jour à chaque sauvegarde.
- Code PHP du shortcode (contenu de
- Metabox latérale “Nom de fichier et génération”:
- Nom de fichier (sans extension), normalisé en
shortcode-...automatiquement. - Cases à cocher pour choisir les fichiers à générer:
- PHP (au niveau racine du dossier de sortie)
- CSS (dans
assets/css/) - JS (dans
assets/js/) - SCSS (dans
assets/scss/)
- Nom de fichier (sans extension), normalisé en
- Compilation SCSS→CSS à la sauvegarde (via scssphp si disponible), avec préfixe de mixins.
- Dossier de sortie configurable (par défaut:
wp-content/themes/<theme-actif>/shortcodes/).
Structure de fichiers générés
shortcodes/
├─ shortcode-monomodule.php (si coché)
└─ assets/
├─ css/ └─ shortcode-monomodule.css (si coché)
├─ js/ └─ shortcode-monomodule.js (si coché)
└─ scss/ └─ shortcode-monomodule.scss (si coché)
Le nom de base est issu du champ “Nom de fichier” et est toujours normalisé en
shortcode-....
Dépendances
- WordPress 5.8+ (recommandé) pour l’éditeur et les APIs utilisées.
- CodeMirror via
wp_enqueue_code_editor()(fourni par WordPress, pas d’installation séparée). - SCSSPHP (optionnel) pour la compilation SCSS → CSS:
- Si le plugin UP Variation Generator (
up-variation-generator) est actif, il fournitscssphpvia sonvendor/et la compilation fonctionnera automatiquement. - Sans
scssphp, la compilation est désactivée (le champ CSS compilé affichera le SCSS ou restera vide selon les cas) et aucun fichier CSS ne sera généré si la compilation échoue.
- Si le plugin UP Variation Generator (
- Droits d’écriture sur le dossier de sortie (thème) :
wp-content/themes/<theme>/shortcodes/.
Réglages
- Clé d’option:
up_sl_settings. - Valeurs:
output_directory(string) — chemin absolu, par défautget_stylesheet_directory() . '/shortcodes/'.
- Une page d’administration du plugin permet de définir ce répertoire (si incluse/active:
admin/admin-page.php).
Filtres
-
up_sl_base_mixins_path(string $path) → string-
Permet de surcharger le chemin du fichier de mixins SCSS préfixé avant compilation.
-
Par défaut:
plugins/up-shortcodes-library/assets/scss/_mixins.scss. -
Exemple (dans le thème ou un mu-plugin) pour réutiliser les mixins d’UP Variation Generator:
add_filter('up_sl_base_mixins_path', function($path){ return WP_PLUGIN_DIR . '/up-variation-generator/assets/scss/_mixins.scss'; });
-
Clés méta utilisées
_up_sl_php_code— code PHP du shortcode._up_sl_js_code— code JS._up_sl_scss_code— code SCSS source._up_sl_compiled_css— CSS compilé (aperçu et génération)._up_sl_file_name— nom de fichier de base (sans extension), normalisé enshortcode-...._up_sl_generate_php_file—1/0pour générer le PHP._up_sl_generate_css_file—1/0pour générer le CSS._up_sl_generate_js_file—1/0pour générer le JS._up_sl_generate_scss_file—1/0pour générer le SCSS.
Hooks internes et comportement
save_post_up-shortcodes→ déclenche la sauvegarde des champs, la compilation SCSS et la génération des fichiers selon les cases cochées.admin_enqueue_scripts→ charge CodeMirror et les assets d’admin du plugin lors de l’édition/création deup-shortcodes.
Mixins SCSS
Un fichier de mixins est préfixé automatiquement au SCSS lors de la compilation. Mixins inclus (assets/scss/_mixins.scss):
px($target-px)— helper conversion simple.PxToRem($size)— conversion px → rem base 16.@mixin b($min,$max)— media query entre 2 largeurs.@mixin m($min)— media query max-width.@mixin p($max)— media query min-width.
Ces mixins peuvent être remplacés en pointant vers un autre fichier (voir filtre up_sl_base_mixins_path).
Prérequis & Permissions
- PHP 7.4+ recommandé.
- Droits d’écriture sur le dossier de sortie.
- Pour la compilation SCSS, la classe
ScssPhp\ScssPhp\Compilerdoit être disponible (via un plugin tiers ou un autoloader Composer).
Installation & usage
- Déposer le dossier
up-shortcodes-library/danswp-content/plugins/. - Activer le plugin dans WordPress.
- (Optionnel) Configurer le dossier de sortie dans la page de réglages du plugin.
- Aller dans Shortcodes → Ajouter:
- Saisir le code PHP, JS et/ou SCSS.
- Définir le Nom de fichier (sans extension). Il sera normalisé en
shortcode-.... - Cocher les fichiers à générer (PHP / CSS / JS / SCSS).
- Enregistrer: les fichiers sont écrits dans le dossier de sortie.
Limitations & Notes
- Si la compilation SCSS échoue ou si
scssphpest indisponible, le champ CSS compilé peut être vide; la génération de CSS respectera l’état compilé actuel. - Les fonctions WordPress (e.g.
add_shortcode) doivent être valides dans le fichier PHP généré.
Licence
Ce plugin est fourni dans le cadre du projet et peut être adapté selon vos besoins.
Changelog
1.2.0 — 2025-12-17
- Documentation: Ajout d'un éditeur Markdown pour rédiger un README.md associé au shortcode.
- Génération: Option pour générer le fichier README.md dans le dossier du shortcode.
- Workflow: Case à cocher "Ajouter aux shortcodes du plugin" pour sauvegarder automatiquement le shortcode dans le XML par défaut du plugin (
defaults/up-shortcodes-default.xml). - Import/Export: Prise en charge du champ README et des nouveaux flags de génération dans l'export XML.
1.1.0 — 2025-09-26
- Nouvelles options de sortie: calcul automatique du dossier de génération via
base_location(thème / mu-plugins / ce plugin / personnalisé) etrelative_subdir. - UI réglages: le champ « Chemin personnalisé » est masqué/désactivé sauf si « Chemin personnalisé » est sélectionné.
- Robustesse chemins MU‑plugins: garde‑fous si certaines constantes WP ne sont pas définies lors de l’analyse statique.
- Import/Export:
- Export déplacé vers
admin-post.phppour éviter « headers already sent ». - Ajout du bouton « Importer les shortcodes par défaut (plugin) » lisant
defaults/up-shortcodes-default.xml. - Export enrichi: inclut les flags
_up_sl_generate_*_file; import compatible (avec rétro‑compatibilité sur_up_sl_generate_file).
- Export déplacé vers
- Versionnage assets admin via
UP_SL_VERSION.
1.0.0 — 2025-09-01
- Version initiale: CPT
up-shortcodes, édition PHP/JS/SCSS, compilation SCSS→CSS, génération de fichiers, metabox options.