2010-03-29 22 views
2

我想調整一點點WordPress的,但我在PHP 0級,所以我有點鬧心:/php的用strip_tags()將無法工作

我想添加自定義「鳴叫這'按鈕(我知道已經有他們的一個極大的,我只想做我自己,爲了好玩)

所以,我想這一點:

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

the_excerpt()返回"<p> ... excerpt ... </p>"並且strip_tags功能不會去除那些<p>標籤!

我做錯了什麼?

謝謝,抱歉,如果它是顯而易見的。

+0

+1等級0評論 – 2010-03-29 22:39:48

回答

5

您的問題是the_excerpt()不會將其內容返回到strip_tags(),而是直接使用echo輸出它。所以strip_tags()(這將需要一個前面的echo做任何工作)不能做任何事情。

使用get_the_excerpt()代替(插入清晰度換行符,使用時刪除):

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

順便說一句,我也要urlencode()的摘錄,你一定要,否則遇到麻煩,如果它包含"雙引號或其他有趣的角色。

+1

嗯,是的,這並沒有立即明確的問題。但是,鑑於Wordpress的全球範圍和功能命名方案的噩夢,回想起來就顯而易見了。 :D +1 – zombat 2010-03-29 22:44:51

+0

太棒了!謝謝 :) – 2010-03-29 22:49:20

0

這看起來不正常:<?php strip_tags(the_excerpt()) ?>,然後WP文檔解釋,the_excerpt's API doc,它說它回聲而不是返回它。 那麼,使用ob_start來解決。

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 

注意:我沒有任何WordPress API經驗。