PHPs strip_tags () funktioniert nicht
Frage
Ich versuche ein kleines Stück WordPress zu optimieren, aber ich bin Level 0 in PHP, also sauge ich irgendwie:/
Ich möchte einen benutzerdefinierten "Tweet this" -Button hinzufügen (ich weiß, dass es bereits eine Merkzeit von ihnen gibt, ich wollte es nur alleine machen, zum Spaß)
Also versuche ich das:
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
the_excerpt () kehrt zurück "<p> ... excerpt ... </p>"
und die Funktion strip_tags streift diese nicht <p>
Stichworte !
Was mache ich falsch?
Danke und tut mir leid, wenn es offensichtlich ist.
Lösung
Ihr Problem ist das the_excerpt()
gibt seinen Inhalt nicht an zu zurück an strip_tags()
, gibt es aber direkt mit verwendet echo
. So strip_tags()
(Das würde eine vorhergehende brauchen echo
Übrigens, keine Arbeit zu erledigen) kann nichts tun.
Verwenden get_the_excerpt () Stattdessen (Zeilenunterbrechung zur Klarheit eingefügt, entfernen Sie bei Verwendung):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
Übrigens würde ich auch auch urlencode()
Der Auszug Sie werden sonst in Schwierigkeiten geraten, wenn er enthält, wenn er enthält "
Doppelzitate oder andere lustige Charaktere.
Andere Tipps
Dies sieht nicht nach gesundem Menschenverstand aus: <?php strip_tags(the_excerpt()) ?>
, dann erklärte der WP Doc, The_Excerpts API -DOC, Es hieß, es wiederholt, anstatt es zurückzugeben. Verwenden Sie ob_start
zur Problemumgehung.
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
Hinweis: Ich habe keine WordPress -API -Erfahrung.