Filter
L'attribut Filter permet d'enregistrer une méthode comme un filtre WordPress, équivalent à l'utilisation de la fonction add_filter().
Utilisation de base
app/Controllers/MyController.php
use Elementum\Attributes\Filter; class MyController extends Controller { #[Filter('the_title')] public function modifyTitle($title, $id = null) { return $title . " - Post ID : " . $id; } }
Paramètres
Paramètre obligatoire
name Requis
- Type :
string|array - Description : Nom du filtre WordPress à appliquer
- Exemple :
'the_title','the_content','excerpt_more' - Remarque : Peut être un tableau pour s'appliquer à plusieurs filtres
Paramètres optionnels
priority
- Type :
int - Défaut :
10 - Description : Définit l'ordre d'exécution du filtre par rapport aux autres filtres rattachés au même hook
- Valeurs courantes :
1-9: Exécution précoce10: Priorité standard11+: Exécution tardive
accepted_args
- Type :
int - Défaut :
1 - Description : Nombre d'arguments que la fonction de filtre accepte de recevoir
- Important : Doit correspondre au nombre de paramètres de votre méthode
Exemples avancés
Avec plusieurs filtres
#[Filter(['the_title', 'the_content'])] public function modifyTitles($content) { // Code appliqué à la fois aux titres et au contenu return $content; }
Avec priorité personnalisée
#[Filter('the_content', priority: 1)] public function earlyContentFilter($content) { // S'exécutera avant les autres filtres (priorité 1) return $content; }
Avec plusieurs arguments
#[Filter('the_content', accepted_args: 2)] public function contentWithId($content, $id = null) { // $content: Le contenu à filtrer // $id: L'ID du post (si disponible) return $content . " (ID: " . $id . ")"; }
Bonnes pratiques
- Documentation : Indiquez clairement ce que fait le filtre et quels arguments il attend