strip_tags php () ne fonctionne pas
Question
Je suis en train de modifier un tout petit peu un wordpress, mais je suis niveau 0 en php, donc je sucent un peu: /
Je veux ajouter un bouton personnalisé « tweet this » (je sais qu'il est déjà un gazillion d'entre eux, je voulais juste le faire moi-même, pour le plaisir)
Alors, j'essaie ceci:
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
the_excerpt () retourne "<p> ... excerpt ... </p>"
et la fonction strip_tags ne supprime pas ces balises <p>
!
Que dois-je faire de mal?
Merci et désolé s'il est évident.
La solution
Votre problème est que the_excerpt()
ne retourne pas son contenu strip_tags()
, mais les sorties directement à l'aide echo
. Alors strip_tags()
(qui aurait besoin d'un echo
précédent par la façon de faire un travail) ne peut rien faire.
Utilisez get_the_excerpt () à la place (saut de ligne insérée par souci de clarté, retirer lors de l'utilisation):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
Par ailleurs, je voudrais également urlencode()
l'extrait, vous êtes lié à des ennuis autrement si elle contient des guillemets "
double ou d'autres personnages drôles.
Autres conseils
Cela ne semble pas juste par le bon sens: <?php strip_tags(the_excerpt()) ?>
, le doc WP expliqué, API the_excerpt doc , il a dit qu'il fait écho au lieu de le renvoyer.
Eh bien, utilisez ob_start
pour contourner le problème.
ob_start("callback");
the_excerpt();
$excerpt = ob_get_contents();
?>
<a href="http://twitter.com/home?status=<?php echo strip_tags($excerpt) ?>" >tweet this</a>
<?php
Note:. Je n'ai pas d'expérience API WordPress