Comment faire écho à the_excerpt sans le wrapper de balise P?

11

Dans l'extrait de code ci-dessous, j'essaie d'obtenir l'écriture de the_excerpt sans balises. Cependant, la mise en forme source montre que the_excerpt est toujours enveloppé dans des balises P. Comment puis-je extraire l'extrait sans balises?

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>";}
Scott B
la source

Réponses:

13

dans votre code ci-dessus, utilisez get_the_excerpt()au lieu de the_excerpt(), car le dernier affichera l'extrait à l'écran et ne le passera pas à vos autres fonctions ...

onetrickpony
la source
7

Qu'en est-il de la suppression du wpautopfiltre avant votre liste?

remove_filter( 'the_excerpt', 'wpautop' );

(Assurez-vous de l'ajouter après, afin de ne pas gâcher d'autres formats ...)

pommes dorées
la source
Il s'agit de la bonne réponse et supprimera spécifiquement la mise en forme sur la page particulière que vous utilisez pour sortir le contenu.
Charles
0

J'ai essayé les réponses ci-dessus mais je n'ai pas travaillé pour moi.

J'ai essayé d'utiliser the_excerpt mais je n'ai affiché aucun contenu, j'ai donc utilisé ce qui suit et cela a parfaitement fonctionné

// $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;

J'espère que cela jettera plus de lumière pour quelqu'un d'autre aussi.

À votre santé

Jekayode
la source
-1

Ci-dessous, l'astuce avec le plugin ACF:

<p>
    <?php
        $summary = get_field('introductory_text');
        echo strip_tags(substr($summary, 0, 520));
    ?>
    <a href="<?php the_permalink(); ?>"> ...read more</a>
</p>
ncole458
la source