web-dev-qa-db-fra.com

Comment ajouter un filtre à toutes les sorties de widgets

Existe-t-il un dernier filtre passé sur les widgets avant leur envoi au navigateur? J'aimerais ajouter un filtre qui ajoute rel="nofollow" à tous les liens de tous les widgets.

Par exemple, je peux ajouter un filtre au widget texte:

add_filter('widget_text', 'xrvel_nfp_modify_nofollow');

Mais je ne veux pas traquer chaque crochet pour chaque widget. (En outre, le widget RSS n'a même pas de filtre. Le ticket Trac a été envoyé )

4
Dan Gayle

Il existe un autre fil ici qui traite d'une solution de contournement.

Eh bien ... la solution de contournement habituelle en PHP quand une fonction ne fournit pas réellement une sortie "get to variable" ... use ob_start: http://php.net/manual/en/function.ob-start.php capturer simplement la sortie et la manipuler avant de l'envoyer.

Leads on stackoverflow: https://stackoverflow.com/search?q=%2Bwordpress+sidebar+%2Bob-start+

2
edelwater

La sortie dépend entièrement de chaque widget. Il est directement répercuté par la méthode widget() du widget. Il n'y a donc aucun filtre général applicable à tous.

2
wyrfel