WP Manifestindependent plugin directory
manifest / content / up-meta-default-values

UP Dynamic Default Meta Values

Permet de gérer dynamiquement les meta-clés et leurs valeurs par défaut via une page d'administration

★ 1stars
v1.0.0latest · 11mo ago

Install

Download source zip No release zip yet

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.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Plugin 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

  1. Copier le dossier du plugin up-meta-default-values dans wp-content/plugins/.
  2. 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_2 avec 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é.
  • 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é.

✅ 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_meta dans 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_meta et le filtre get_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.

Tag
Published
v1.0.0 latest
Nov 10, 2025 11mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.