Aller au contenu principal
Version: 26.0.8.0

Changelog

26.0.8.0

Nouveautés

  • Versioning : adoption de la nouvelle convention de versionnement basée sur l'année (26 = 2026), alignée avec les versions du plugin.

  • Attribut #[Api] : les méthodes de contrôleur reçoivent maintenant un second paramètre \WP_REST_Request $request, donnant accès à get_body_params(), get_file_params(), get_json_params() sans passer par $_POST ou $_FILES.

  • AdminPage — sous-page d'un CPT : la propriété parent accepte désormais le pattern edit.php?post_type=<slug> pour rattacher une page d'administration au menu d'un post type. Elementum vérifie automatiquement que le CPT est enregistré avant d'ajouter la sous-page.

  • Post types — ensemble de nouvelles fonctionnalités :

    • $active : désactiver complètement un CPT (enregistrement + hooks) en mettant à false
    • $gutenbergEditor : forcer l'éditeur classique en mettant à false
    • setSupports(string ...$args) : méthode fluide pour définir les supports (title, editor, thumbnail…)
    • setOption(string $key, mixed $value) : surcharger n'importe quel argument register_post_type()
    • setLabel(string $key, string $label) : surcharger un label spécifique, labels recalculés automatiquement
    • gutenbergEditorActivation(bool $enabled) : activation/désactivation programmatique de Gutenberg
    • getCurrentPost() : retourne le WP_Post en cours d'édition dans l'admin
    • setColumnsContent() : nouveau paramètre $width optionnel pour fixer la largeur d'une colonne en pixels
    • Façade Post : content et excerpt ne sont chargés que si le CPT déclare les supports editor/excerpt
    • Façade Postget_field($force) : nouveau paramètre $force = true pour lire une meta même si le champ n'est pas déclaré dans Elementum
  • GutenbergBlock : addAttribute() accepte mixed pour $default, permettant des valeurs booléennes, entières ou tableaux.

Corrections

  • Boilerplate plugin : le namespace du PluginController généré par php dobby new:plugin était codé en dur (Elementum\BoilerplatePlugin\Controller). Il est maintenant remplacé dynamiquement par le namespace réel du plugin lors de la création (Elementum\MonPlugin\Controller).

  • GutenbergBlock JS : suppression du console.table() de debug appelé systématiquement lors de l'enregistrement de chaque bloc dans l'éditeur.

Corrections internes

  • Container : le double-enregistrement des services est désormais évité grâce aux méthodes isAlreadyRegister() et markAsUsed(). Un compteur d'exécution garantit qu'une seconde passe ne réinscrit pas les instances existantes.

  • Kernel : l'initialisation de Carbon Fields est déplacée hors du hook after_setup_theme pour être systématiquement exécutée au boot, quelle que soit la chronologie des hooks.

  • AdminPages : la détection du contexte admin reconnaît maintenant les pages edit.php?page=… (sous-menus de CPT) en plus de admin.php, ce qui corrige la sauvegarde des réglages sur ces pages.


0.7.4

Nouveautés

  • Façade URLRewriter : ajout de captureBase(string $queryVar) pour déclarer une base dynamique (alternance) comme groupe capturant, avec mapping automatique vers une query var et décalage des indices de segments.
  • Façade URLRewriter : ajout de param(string $key, string $value) pour injecter des paramètres fixes dans la chaîne de redirect (ex : flags de routing).