it-swarm.com.de

Wortlimit in post_content nach more tag

Ich verwende den folgenden Code, um den Teaser auszublenden und den Inhalt erst nach einem weiteren Tag in der Schleife anzuzeigen:

<?php
$after_more = explode(
    '<!--more-->', 
    $post->post_content
); 
if( $after_more[1] ) { 
    echo $after_more[1]; 
} else {
    echo $after_more[0]; 
}
?>

Gibt es trotzdem nur die ersten 50 Wörter anstelle des gesamten Beitragsinhalts anzuzeigen? Ich möchte den Teaser ausblenden und 50 Wörter nach dem Tag anzeigen.

3
Skotlive

Verwenden Sie die Funktion wp_trim_words, um den Inhalt auf eine bestimmte Anzahl von Wörtern zu beschränken und den zugeschnittenen Text zurückzugeben. Beispiel für die Verwendung der Funktion wp_trim_words.

<?php

    $content = get_the_content();
    $trimmed_content = wp_trim_words( $content, 50, NULL );
    echo $trimmed_content;

?>

Also habe ich die Funktion wp_trim_words in Ihren Code eingefügt, um 50 Wörter nach <!-- more --> zu erhalten.

<?php
    $after_more = explode( '<!--more-->', $post->post_content );

    if( $after_more[1] ) {
        $content = $after_more[1];
    } else {
        $content = get_the_content();
    }

    $trimmed_content = wp_trim_words( $content, 50, NULL );
    echo $trimmed_content;
?>

Bearbeitet, um 50 Wörter aus dem Inhalt anzuzeigen, wenn der Beitragsinhalt keinen <!--more--> enthält.

2
Robert hue

A) Der <!--more--> Kommentar:

Hier ist ein Einzeiler:

echo wp_trim_words( strip_shortcodes( strip_tags( get_the_content( '', true ) ) ), 50 );

wobei wir das zweite Argument von get_the_content() verwenden, um den Teaser über dem Teil <!--more--> im Beitragsinhalt auszublenden.

B) Der <!--noteaser--> Kommentar:

Beachten Sie, dass es den Kommentar <!--noteaser--> gibt, den wir stattdessen verwenden könnten, um die Teaser-Anzeige vom Inhalt des Posts aus zu steuern:

....
<!--more--><!--noteaser-->
...

In diesem Fall würden wir verwenden:

echo wp_trim_words( strip_shortcodes( strip_tags( get_the_content( '', false ) ) ), 50 );

Bei Bedarf können wir auch zusätzliche Filter auf die oben genannte Ausgabe anwenden.

In diesem Fall können wir auch Folgendes verwenden:

echo wp_trim_excerpt();

und steuern Sie dann die Ausgabe mit den Filtern excerpt_length, excerpt_more, the_content und wp_trim_excerpt.

Ein Beispiel mit Star Trek Lorem Ipsum:

Für Fall A oben:

Vor:

Exceeding reaction chamber thermal limit. 
We have begun power-supply calibration. 
<!--more-->
Force fields have been established on all turbo lifts and crawlways. 
Computer, run a level-two diagnostic on warp-drive systems. 
Antimatter containment positive. 
Warp drive within normal parameters. 
I read an ion trail characteristic of a freighter escape pod. 
The bomb had a molecular-decay detonator. 
Detecting some unusual fluctuations in subspace frequencies.
Sensors indicate no shuttle or other ships in this sector. 
According to coordinates, we have travelled 7,000 light years 
and are located near the system J-25. 
Tractor beam released, sir. 
Force field maintaining our hull integrity. 

Nach dem:

Force fields have been established on all turbo lifts and crawlways. 
Computer, run a level-two diagnostic on warp-drive systems. 
Antimatter containment positive. 
Warp drive within normal parameters. 
I read an ion trail characteristic of a freighter escape pod. 
The bomb had a molecular-decay detonator. 
Detecting some unusual fluctuations in subspace...
3
birgire