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
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'];
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.