Wenn ich in "the loop" bin (Archivseiten usw.), wie erzwinge ich Teaser / Auszüge für alle Artikel, unabhängig davon, ob sie das <!--more-->
Tag enthalten oder nicht?
Einzelheiten:
Ich beginne mit der _s
Vorlage, die den Inhalt von Blogposts mithilfe der content.php
Vorlage anzeigt, in der die the_content()
Funktion aufgerufen wird. Diese Funktion überprüft den Beitrag und versucht, das <!--more-->
Tag in zu finden . Wenn sie einen findet, gibt sie einen Teaser und einen Link zum Lesen weiter zurück . Wenn dies nicht der Fall ist, wird einfach der gesamte Beitrag ausgegeben.
Ich möchte den ersten Teil behalten, dh das <!--more-->
Tag respektieren, wenn der Inhaltsautor es verwendet hat, aber wenn er / sie es vergessen hat, möchte ich den Teaser / Auszug trotzdem automatisch anzeigen (so etwas wie der erste oder zweite Absatz).
Was ist der beste Weg, dies zu tun? Es gibt einen the_content
Filter, aber z. B. kommt der Text zum Lesen weiterer Informationen nicht dazu. Was würden Sie empfehlen?
Natürlich gibt es eine API-Funktion - versteckt in der Tiefe des Kerns -, um die Teile vor und nach dem
<!--more-->
Tag im Inhalt abzurufen . Aufgrund von Namenskonventionen von genau Null werden die praktischen Teile in WP häufig überwacht :get_extended()
.Das Ergebnis würde folgendermaßen aussehen:
und wechseln Sie den Auszug und den Inhalt basierend auf der Existenz von
<!--more-->
. Beachten Sie, dass WP standardmäßig nur<!--more-->
Leerzeichen akzeptiert . Wenn Ihre Autoren es also manuell eingeben und Leerzeichen hinzufügen,<!-- more -->
funktioniert dies (auf jeden Fall) nicht.quelle
more_text
zurückgegeben wird. Ich frage mich, was das ist. Vielleicht möchten Sie dort etwas recherchieren? :)<!--more-->
Suche durchführt. Wenn sie nicht gefunden wird, erhalte ich den gerenderten HTML-Inhalt des Beitrags und gebe möglicherweise nur die ersten beiden Absätze zurück. Ich mag die Ausgabe der Auszugsfunktionen nicht, und obwohl es Möglichkeiten gibt, sie zu ändern, wie Pieters Beitrag zeigt, ist es wahrscheinlich zu viel Aufwand für meinen Anwendungsfall. Danke für die tollen Infos.