it-swarm.com.de

Nur Inhalte vor mehr Tag anzeigen

Ich verwende die Sirenenvorlage. In homepage.php wird dieser Code verwendet, um den Portfolio-Inhalt anzuzeigen

print_excerpt(200);

Aber ich muss den Inhalt erst vor <!--more--> zeigen

Ich habe das benutzt:

the_content( $more_link_text, FALSE);

aber es funktioniert nicht. Es zeigt den gesamten Inhalt

5
MajidGh

Sie können die WordPress-Funktion get_extended verwenden, um die verschiedenen Teile einer Zeichenfolge abzurufen (den Teil vor und den Teil nach dem Tag <!--more-->). get_extended gibt ein Array mit drei Schlüsseln zurück, von denen die Schlüssel main und extended wichtig sind: $arr['main'] enthält den Teil vor dem more-Tag und $arr['extended'] den Teil nach dem more-Tag.

Dies würde etwa ergeben:

// Fetch post content
$content = get_post_field( 'post_content', get_the_ID() );

// Get content parts
$content_parts = get_extended( $content );

// Output part before <!--more--> tag
echo $content_parts['main'];
13
engelen

Leider scheinen alle Funktionen in WordPress, die den Auszug (get_extended, get_extended) rendern sollen, weder HTML-Tags anzuwenden noch Zeilenumbrüche in Absätzen wie vorgesehen umzuwandeln.

Wenn Sie den Auszug mit Formatierung rendern müssen, schlage ich vor, dass Sie diesen Code verwenden:

global $more;
$more_backup = $more;
$more = 0;
the_content('');
$more = $more_backup;

Mit dieser Problemumgehung teilen Sie der Funktion_content () mit, dass sie sich in einer Schleife befindet, und rufen den Inhalt vor dem Tag more ab.

0
Marco Panichi