Pergunta

Estou tentando ajustar um pouco um WordPress, mas estou no nível 0 no PHP, então eu meio que sou péssimo:/

Quero adicionar um botão 'Tweet esse' personalizado (eu sei que já há um gazilhão deles, eu só queria fazer isso sozinho, por diversão)

Então, estou tentando o seguinte:

<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>

the_excerpt () retorna "<p> ... excerpt ... </p>" e a função Strip_tags não tira aqueles <p> Tag !

O que eu faço de errado?

Obrigado, e desculpe se é óbvio.

Foi útil?

Solução

Seu problema é que the_excerpt() não retorna seu conteúdo para strip_tags(), mas o produz diretamente usando echo. Então strip_tags() (que precisaria de um anterior echo A propósito, para fazer qualquer trabalho) não pode fazer nada.

Usar get_the_excerpt () Em vez disso (quebra de linha inserida para clareza, remova quando estiver usando):

<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>

A propósito, eu também iria urlencode() O trecho, você estará fadado a ter problemas, caso contrário, se ele contiver "Citações duplas ou outros personagens engraçados.

Outras dicas

Isso não parece certo pelo bom senso: <?php strip_tags(the_excerpt()) ?>, então o documento WP explicou, Doc da API do The_Excerpt, disse que ecoa em vez de devolvê -lo. Bem, use ob_start para alternativa.

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: Não tenho nenhuma experiência da API do WordPress.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top