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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top