WordPress, the_excerpt()

А
На сайте с 14.11.2007
Offline
74
1236

Добрый день. Пытаюсь побороть the_excerpt() в WordPress. Через str_replace пытаюсь убрать лишние символы в выводе, но ничего не выходит. Делаю это простым способом:

function metadata() {
$mexcerpt = the_excerpt();
str_replace('<p>', ' ', $mexcerpt);
echo $mexcerpt;
}

Ну и соответственно вывожу:

<?php metadata(); ?>

Получаю по итогу то же самое, что было без вставки str_replace:

<p>какой-то текст […]</p>

Пробовала так же функцию strip_tags()

Текст выводит, но тэг "<p>" никак не убирается. Подскажите в чем может быть причина. В идеале надо убрать весь мусор: <p>, […],</p> , но для начала не могу разобраться почему не убирает хоть что-то

danforth
На сайте с 18.12.2015
Offline
153
#1

Функция str_replace, как и strip_tags, возвращает результат, она не принимает $subject как ссылку, а вы в данном случае не принимаете результат работы функции. Более того, обрезать <p> по стартовому тегу - неправильно.

Ваш вариант strip_tags.

upd.: функций the_excerpt() сразу выводит строку, а вам нужна функция возвращающая значение, поэтому get_the_excerpt();


function metadata() {
return strip_tags(get_the_excerpt());
}

Обрезать [...] можно следующим способом: файл functions.php вашей темы


function remove_excerpt_dots( $more ) {
return '';
}
add_filter( 'excerpt_more', 'remove_excerpt_dots' );

За работоспособность не ручаюсь, быстронабросал.

Junior Web Developer
А
На сайте с 14.11.2007
Offline
74
#2

к сожалению, ничего из этого не работает

во втором варианте вообще ругается на неизвестную переменную $more

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
Анжела:
Делаю это простым способом:

Да, уж.

https://wp-kama.ru/function/the_excerpt по русски, 4й пример.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий