Php's Strip_tags () no funcionará
Pregunta
Estoy tratando de ajustar un poco un WordPress, pero estoy de nivel 0 en PHP, así que apesta:/
Quiero agregar un botón personalizado 'Tweet este' (sé que ya hay un billón de ellos, solo quería hacerlo por mi cuenta, por diversión)
Entonces, estoy intentando esto:
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
the_excerpt () regresa "<p> ... excerpt ... </p>"
y la función strip_tags no se desploma <p>
¡Etiquetas!
Qué hago mal ?
Gracias, y lo siento si es obvio.
Solución
Tu problema es que the_excerpt()
no devuelve su contenido a strip_tags()
, pero lo genera directamente usando echo
. Asi que strip_tags()
(que necesitaría un anterior echo
por la forma de hacer cualquier trabajo) no puede hacer nada.
Usar get_the_excerpt () En su lugar (la línea de línea insertada para mayor claridad, retire cuando use):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
Por cierto, yo también urlencode()
El extracto, está obligado a tener problemas de otra manera si contiene "
Citas dobles u otros personajes divertidos.
Otros consejos
Esto no se ve bien por el sentido común: <?php strip_tags(the_excerpt()) ?>
, entonces el documento de WP explicó, Doc API de The_Excerpt, Dijo que se hace eco en lugar de devolverlo. Bueno, usa ob_start
a la solución.
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
Nota: No tengo ninguna experiencia de API de WordPress.