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éefalse: 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