Вопрос

Я пытаюсь немного изменить WordPress, но я на уровне 0 в PHP, поэтому я вроде отстой:/

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

Итак, я пробую это:

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

the_excerpt () возвращает "<p> ... excerpt ... </p>" и функция Strip_tags не лишает их <p> Теги!

Что мне сделать не так?

Спасибо, и извините, если это очевидно.

Это было полезно?

Решение

Ваша проблема в том, что 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() Выдержка, вы обязательно столкнетесь с проблемами, если он содержит "Двойные цитаты или другие забавные персонажи.

Другие советы

Это не выглядит правильно по здравому смыслу: <?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 API.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top