2010-03-29 2 views
2

Я пытаюсь настроить крошечную на WordPress, но я уровень 0 в PHP, так что я своего рода сосать:/РНР() не будет работать

Я хочу добавить обычай «чирикать это кнопка '(я знаю, что уже есть Gazillion из них, я просто хотел, чтобы сделать это самостоятельно, для удовольствия)

Итак, я пытаюсь это:

<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 комментарий –

ответ

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

+0

Отлично! Спасибо :) –

0

Это не выглядит правильным по здравому смыслу: <?php strip_tags(the_excerpt()) ?>, затем WP doc объяснил, 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.

Смежные вопросы