it-swarm.com.de

Holen Sie sich einen Auszug aus $ post-> post_content

Ich ändere die Ausgabe eines Plugins mithilfe eines Filters und die Variable $ post steht mir zur Verfügung, sodass ich den Inhalt des Posts folgendermaßen anzeigen kann:

<h3><?php echo $post->post_title; ?></h3>
<?php echo apply_filters( 'the_excerpt', $post->post_excerpt ); ?>

Oben wird der Auszug jedoch nur angezeigt, wenn der Inhalt in das Ausschnittfeld eingegeben wurde. Es wird keine abgeschnittene Version des Inhalts angezeigt, wie dies der Fall wäre, wenn Sie "the_excerpt" oder "get_the_excerpt" verwenden könnten. Ich habe auch versucht:

<?php echo apply_filters( 'the_excerpt', $post->post_content ); ?>

Aber das bekommt nur den vollen Inhalt des Beitrags.

Und ich habe es versucht:

<?php echo apply_filters('the_excerpt', get_post_field('post_excerpt', $post-ID)); ?>

Das bringt aber nichts.

Gibt es eine Möglichkeit, den Auszug aus dem gesamten Inhalt von $ post abzurufen, wenn ich den_Auszug oder den_Auszug nicht verwenden kann?

Vielen Dank!

3
LBF

Wenn Sie sich in der Schleife befinden, wird direkt ein Auszug aus $post->post_content erstellt:

<?php echo wp_trim_excerpt(); ?>

Lesen Sie mehr HIER .

Alternative Lösung:

Wenn Sie sich nicht in der Schleife befinden , können Sie eine ähnliche Implementierung wie in der Funktion wp_trim_excerpt verwenden:

$text = strip_shortcodes( $post->post_content );
$text = apply_filters( 'the_content', $text );
$text = str_replace(']]>', ']]&gt;', $text);
$excerpt_length = apply_filters( 'excerpt_length', 55 );
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[&hellip;]' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
echo $text;
4
Fayaz