Le WordPress d'aujourd'hui, décodé pour les développeurs

Tips

Masquer les widgets atomiques instables d’Elementor V4 aux clients non avertis

Limiter l'accès à certains éléments récents tant que l'équipe ne les maîtrise pas encore en production.

Par Clément Hadrot • 3 juin 2026 • 4 min de lecture • Aucun commentaire
Masquer les widgets atomiques instables d'Elementor V4 aux clients non avertis

Faut-il laisser un client final accéder à un widget qui, chez WP Moderne, a déjà provoqué deux régressions visuelles en production depuis le passage à l’éditeur V4 d’Elementor ? La réponse évidente est non, mais Elementor ne propose pas nativement de granularité fine par widget selon le niveau de maîtrise de l’utilisateur — seulement des restrictions globales par rôle sur l’accès à l’éditeur lui-même.

La solution consiste à filtrer la liste des widgets disponibles au moment du chargement de l’éditeur, en se basant sur une capacité personnalisée plutôt que sur le rôle générique de l’utilisateur, ce qui permet d’accorder l’accès à une personne précise sans devoir créer un rôle entier pour ce cas particulier.

Repérer les widgets à restreindre

Sur un projet ayant migré vers les éléments atomiques d’Elementor, certains widgets restent marqués comme expérimentaux dans la documentation officielle ou se sont révélés instables lors de tests internes : rendu incohérent entre les classes globales et les styles locaux, ou comportement imprévisible lors de la duplication d’un composant. La liste de ces widgets à restreindre doit être maintenue à jour dans un tableau de constantes, réévalué à chaque montée de version d’Elementor.

Créer la capacité dédiée

L'essentiel à retenir : Un filtre pour retirer un widget de la liste des éléments ; Une capacité dédiée pour les profils avertis ; Une liste blanche plutôt qu'une liste noire

Plutôt que de tester le rôle de l’utilisateur, on ajoute une capacité personnalisée, attribuable individuellement, qui distingue les profils avertis des autres :

add_action( 'admin_init', 'ajouter_capacite_widgets_avances' );
function ajouter_capacite_widgets_avances() {
    $role = get_role( 'administrator' );
    if ( $role && ! $role->has_cap( 'utiliser_widgets_elementor_avances' ) ) {
        $role->add_cap( 'utiliser_widgets_elementor_avances' );
    }
}

Un profil éditeur particulier, formé sur les nouveaux widgets, peut ensuite recevoir individuellement cette capacité via $user->add_cap(), sans que l’ensemble des éditeurs du site n’y ait automatiquement accès.

Filtrer la liste des widgets côté éditeur

Elementor expose un filtre permettant de retirer des widgets de la liste avant leur enregistrement dans le panneau de l’éditeur :

add_action( 'elementor/widgets/register', 'restreindre_widgets_instables', 20 );
function restreindre_widgets_instables( $widgets_manager ) {
    if ( current_user_can( 'utiliser_widgets_elementor_avances' ) ) {
        return;
    }

    $widgets_a_restreindre = array(
        'atomic-carousel',
        'atomic-tabs-v2',
        'atomic-accordion-nested',
    );

    foreach ( $widgets_a_restreindre as $slug ) {
        $widgets_manager->unregister( $slug );
    }
}

Pourquoi une liste blanche est plus sûre qu’une liste noire

Sur ce type de restriction, mieux vaut inverser la logique dès que le nombre de widgets atomiques dépasse la dizaine : plutôt que d’énumérer les widgets à interdire (liste qui s’allonge à chaque version), on définit une liste blanche de widgets validés en production, et tout nouveau widget ajouté par une mise à jour d’Elementor reste masqué par défaut jusqu’à validation explicite par l’équipe technique.

Prévenir plutôt que simplement masquer

Un widget qui disparaît sans explication laisse un client perplexe s’il en a déjà entendu parler via une communauté Elementor. Un message dans l’interface, affiché à la place du widget masqué dans le panel, indique qu’il est en cours de validation interne et sera disponible prochainement, ce qui évite un ticket support inutile.

  • Widget disponible : accès direct sans restriction
  • Widget en validation : masqué avec message explicatif pour les profils non avertis
  • Widget validé récemment : accès élargi à tous les éditeurs après une période de test interne

Restreindre temporairement un widget récent n’est pas un désaveu de la technologie ; c’est simplement reconnaître que la maîtrise d’un nouvel outil précède toujours sa mise entre toutes les mains.

Documenter la levée progressive des restrictions

Chaque widget retiré de la liste blanche doit porter une date de réévaluation prévue, consultée lors des mises à jour de l’équipe technique, pour éviter qu’un widget parfaitement stabilisé reste bloqué par oubli plusieurs mois après sa validation réelle.

Notre verdict

La granularité par capacité personnalisée, combinée à une liste blanche plutôt qu’une liste noire, offre un contrôle fin sans complexifier la gestion des rôles existants. Le coût de mise en place reste modeste face au gain en tranquillité d’esprit, particulièrement utile pendant la période de stabilisation qui accompagne toute transition majeure d’éditeur.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi