Как вывести the_excerpt без обёртки тега P?
В приведенном ниже фрагменте кода я пытаюсь вывести the_excerpt без тегов. Однако исходное форматирование показывает, что the_excerpt всегда обёрнут в теги P. Как можно получить отрывок без тегов?
foreach($myrecentposts as $idxrecent=>$post)
{ ?>
<li class="page_item">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php echo strip_tags(substr( the_excerpt(), 0, 75 ))."..." ?>
</li><?php }
echo "</ul>
</div>";}

Я попробовал вышеуказанные решения, но они не сработали для меня.
Я пытался использовать the_excerpt, но он не отображал содержимое, поэтому применил следующий код, который отлично сработал:
// $search_text = the_excerpt();
$search_text = get_the_excerpt();
// Удаляем тег <p>, заменяя его пустой строкой
$tags = array("<p>", "</p>");
$search_content = str_replace($tags, "", $search_text);
// Выводим содержимое
echo $search_content;
Надеюсь, это решение окажется полезным для кого-то ещё.
Удачи!

Это не является ответом на вопрос. Когда у вас будет достаточно репутации, вы сможете оставлять комментарии к любым сообщениям; вместо этого предоставляйте ответы, не требующие уточнений от автора вопроса. - Из обзора

Если вы не хотите, чтобы при использовании the_excerpt()
добавлялись теги <p>
, вы можете использовать echo get_the_excerpt()
, который удаляет теги <p>
.
Если вы также хотите убедиться, что удалены переносы строк и пробелы, используйте echo wp_strip_all_tags( get_the_excerpt(), true );
.
Использование get_the_excerpt
может вызвать ошибку undefined offset -1, поэтому сначала проверьте с помощью has_excerpt()
.

Ниже приведено решение с использованием плагина ACF:
<p>
<?php
$summary = get_field('introductory_text'); // Получаем вводный текст через ACF
echo strip_tags(substr($summary, 0, 520)); // Обрезаем до 520 символов и удаляем HTML-теги
?>
<a href="<?php the_permalink(); ?>"> ...читать далее</a>
</p>
