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$_POSTou$_FILES. -
AdminPage — sous-page d'un CPT : la propriété
parentaccepte désormais le patternedit.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 àfalsesetSupports(string ...$args): méthode fluide pour définir les supports (title,editor,thumbnail…)setOption(string $key, mixed $value): surcharger n'importe quel argumentregister_post_type()setLabel(string $key, string $label): surcharger un label spécifique, labels recalculés automatiquementgutenbergEditorActivation(bool $enabled): activation/désactivation programmatique de GutenberggetCurrentPost(): retourne leWP_Posten cours d'édition dans l'adminsetColumnsContent(): nouveau paramètre$widthoptionnel pour fixer la largeur d'une colonne en pixels- Façade
Post:contentetexcerptne sont chargés que si le CPT déclare les supportseditor/excerpt - Façade
Post—get_field($force): nouveau paramètre$force = truepour lire une meta même si le champ n'est pas déclaré dans Elementum
-
GutenbergBlock :
addAttribute()acceptemixedpour$default, permettant des valeurs booléennes, entières ou tableaux.
Corrections
-
Boilerplate plugin : le namespace du
PluginControllergénéré parphp 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()etmarkAsUsed(). 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_themepour ê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 deadmin.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).