Aller au contenu principal
Version: Next

Alert

L'attribut Alert permet d'afficher des notifications personnalisées dans l'interface d'administration de WordPress en utilisant le système de admin_notices.

Utilisation de base

app/Controllers/BlogController.php
use Elementum\Attributes\Alert;

class BlogController extends Controller
{
    #[Alert(
        id: "hello-world",
        type: 'info',
        dismissible: true,
        onScreen: ['dashboard']
    )]
    public function showAlert()
    {
        return $this->render("alert.html.twig", [
            "title" => "Nouvelle alerte",
            "message" => "Ceci est une alerte personnalisée",
        ]);
    }
}

Paramètres

Paramètre obligatoire

id Requis

  • Type : string
  • Description : Identifiant unique de l'alerte
  • Exemple : 'mise-a-jour-disponible', 'message-important'
  • Important : Doit être unique pour chaque alerte

Paramètres optionnels

type

  • Type : string
  • Défaut : 'info'
  • Description : Définit le style visuel de l'alerte
  • Valeurs acceptées :
    • 'info' : Information générale (bleu)
    • 'success' : Confirmation de succès (vert)
    • 'warning' : Avertissement (orange)
    • 'error' : Message d'erreur (rouge)

dismissible

  • Type : bool
  • Défaut : true
  • Description : Permet à l'utilisateur de masquer l'alerte
  • Valeurs :
    • true : L'alerte peut être masquée
    • false : L'alerte reste visible

onScreen

  • Type : array
  • Défaut : ['dashboard']
  • Description : Liste des écrans où l'alerte doit s'afficher
  • Exemple : ['dashboard', 'plugins', 'edit-post']
  • Remarque : Utilise les slugs natifs des écrans WordPress

Exemples avancés

Alerte non masquable sur une page spécifique

#[Alert(
    id: "mise-a-jour-importante",
    type: 'warning',
    dismissible: false,
    onScreen: ['plugins']
)]
public function showImportantAlert()
{
    return $this->render('alerts/important.html.twig');
}

Alerte de succès sur plusieurs pages

#[Alert(
    id: "action-reussie",
    type: 'success',
    onScreen: ['edit-post', 'edit-page']
)]
public function showSuccessAlert()
{
    return $this->render('alerts/success.html.twig', [
        'message' => 'L\'opération a été effectuée avec succès.'
    ]);
}

Bonnes pratiques

  • Identifiants uniques : Utilisez des identifiants descriptifs et uniques pour chaque alerte
  • Ciblage précis : Limitez l'affichage aux écrans pertinents avec le paramètre onScreen