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-meta-default-values/archive/refs/heads/Master.zipPlugin WordPress pour définir et appliquer dynamiquement des valeurs par défaut pour des meta-clés de contenus (posts, CPT...). Si une meta est absente ou vide, le plugin fournit la valeur par défaut configurée. Si une valeur est enregistrée et non vide, elle prévaut.
✨ Fonctionnalités
- Définir une liste de meta-clés avec leurs valeurs par défaut.
- Prise en charge des valeurs simples et multiples (array).
- Respect des valeurs déjà enregistrées.
- Application automatique via le filtre
get_post_metadata.
📦 Prérequis
- WordPress 6.3+
- PHP 7.4+
🔧 Installation
- Copier le dossier du plugin
up-meta-default-valuesdanswp-content/plugins/. - Activer le plugin dans Extensions → UP Dynamic Default Meta Values.
⚙️ Configuration
Le plugin stocke la configuration dans deux options:
up_dynamic_meta_defaults(meta_key → valeur par défaut)up_dynamic_meta_types(meta_key → type simple/multiple)
Une page d’administration est ajoutée (menu WP-Admin) pour gérer:
- l’ajout/suppression de meta-clés
- leurs valeurs par défaut
- le type (valeur unique vs multiple)
🧠 Comportement
- Si la meta N’EXISTE PAS → on renvoie la valeur par défaut.
- Si la meta EXISTE MAIS EST VIDE (chaine vide, array vide, null) → on renvoie la valeur par défaut.
- Si la meta EXISTE ET N’EST PAS VIDE → WordPress renvoie la valeur enregistrée.
Note technique: lors du test d’existence, le filtre est temporairement retiré pour éviter toute récursion qui pourrait mener à une saturation mémoire.
🧩 API (hooks WP)
- Filtre utilisé:
get_post_metadata- Le plugin intercepte la lecture de meta et décide de retourner (ou non) une valeur par défaut.
📝 Exemples
-
Meta simple
titre_2avec défaut "Mon titre":- Post sans
titre_2→ "Mon titre" est affiché. - Post avec
titre_2= "" → "Mon titre" est affiché. - Post avec
titre_2= "Salut" → "Salut" est affiché.
- Post sans
-
Meta multiple
features(array) avec défaut["fast","green"]:- Post sans
features→["fast","green"]est renvoyé. - Post avec
features=[]→["fast","green"]est renvoyé. - Post avec
features=["pro"]→["pro"]est renvoyé.
- Post sans
✅ Bonnes pratiques
- Pour les champs texte, une chaîne vide est considérée comme « vide ».
- Pour les champs multiples, un array vide est considéré comme « vide ».
- Éviter d’appeler
get_post_metadans des boucles massives si non nécessaire.
🐛 Dépannage
- Fatal error mémoire dans
class-wp-object-cache.php: corrigé en retirant/réajoutant le filtre pendant le test d’existence (metadata_exists) afin d’éviter une récursion. - Les valeurs par défaut ne s’appliquent pas: vérifier que la meta est déclarée dans la page d’options et que son type correspond au stockage réel (simple vs multiple).
🔐 Compatibilité et limites
- Testé avec l’éditeur de blocs et des metabox personnalisées.
- Le plugin se base sur
metadata_exists,get_post_metaet le filtreget_post_metadata.
📄 Licence
MIT
👤 Auteur
- Nicolas Gehin
🗓️ Changelog
- 1.0.0: Première version publique avec gestion des valeurs par défaut et prévention de la récursion.
Releases
1 release.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.