Как отобразить the_excerpt без оболочки тега P?


11

В приведенном ниже фрагменте кода я пытаюсь записать 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>";}

Ответы:


13

в приведенном выше коде используйте get_the_excerpt()вместо the_excerpt(), потому что последний выведет отрывок на экран, а не передаст его другим вашим функциям ...


7

Как насчет удаления wpautopфильтра перед вашим списком?

remove_filter( 'the_excerpt', 'wpautop' );

(Не забудьте добавить его позже, чтобы не испортить другое форматирование ...)


Это правильный ответ, и он специально удалит форматирование на конкретной странице, которую вы используете для вывода содержимого.
Чарльз

0

Я попробовал вышеуказанные ответы, но у меня не получилось.

Я пытался использовать the_excerpt, но не отображал никакого контента, поэтому я использовал нижеприведенный текст, и он отлично работал

// $search_text = the_excerpt();
$search_text = get_the_excerpt();

// Strip the <p> tag by replacing it empty string
$tags = array("<p>", "</p>");
$search_content = str_replace($tags, "", $search_text);

// Echo the content

echo $search_content;

Я надеюсь, что это проливает больше света и на кого-то другого.

ура


-1

Ниже сделал трюк, используя плагин ACF:

<p>
    <?php
        $summary = get_field('introductory_text');
        echo strip_tags(substr($summary, 0, 520));
    ?>
    <a href="<?php the_permalink(); ?>"> ...read more</a>
</p>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.