En gros, j'ai un plugin qui recherche certains jetons dans toute la page et remplace les jetons par des images. Le problème est que j'ai l'un de ces jetons dans le pied de page et, autant que je sache, il n'y a pas de filtre pour le pied de page.
La question est donc la suivante: existe-t-il un moyen de créer un filtre personnalisé? Et est-ce la meilleure façon de s'y prendre? Mon plugin effectue un preg_match dans le contenu et, s'il trouve, par exemple, "{picture here}", il le remplace. Je ne sais pas comment étendre cette fonctionnalité au pied de page, cependant?
La majeure partie du pied de page est un balisage PHP/HTML simple. Vous appliquez des filtres au contenu dynamique, raison pour laquelle il n'existe pas de "filtre" en bas de page. Cela dit, il est relativement facile d’ajouter vos propres filtres à WordPress.
Supposons que votre footer.php
se compose des éléments suivants:
</div> <!-- close main content div>
<div id="footer">
<p class="copyright">Copyright 2011 By Me</p>
</div>
</body>
</html>
Et disons que vous souhaitez remplacer dynamiquement le mot "copyright" par l'image C standard à l'aide de votre filtre. Vous voudriez remplacer ceci par:
</div> <!-- close main content div>
<div id="footer">
<p class="copyright">
<?php
echo apply_filters( 'my_footer_filter', 'Copyright 2011 By Me' );
?>
</p>
</div>
</body>
</html>
Cela crée un filtre personnalisé appelé "my_footer_filter" et l'applique au texte "Copyright 2011 By Me". Dans votre fichier functions.php
, vous pouvez utiliser ce filtre comme n'importe quel autre:
function replace_copyright( $copyright ) {
// do something to $copyright
return $copyright;
}
add_filter( 'my_footer_filter', 'replace_copyright' );