So fügen Sie Inhalte vor oder nach the_content und in benutzerdefinierten Beitragstypen hinzu
Veröffentlicht: 2020-01-09In den Seiten und Beiträgen Ihrer WordPress-Site möchten Sie möglicherweise einige Inhalte nach dem Seiteninhalt oder dem Beitragsinhalt hinzufügen. Solche Inhalte können für alle Seiten oder Beiträge oder beide oder benutzerdefinierte Beitragstypen erforderlich sein. In einem solchen Fall müssen Sie einen Filter verwenden, der Inhalt nach oder vor der Funktion „_content“ im WordPress-Theme oder der Seitenvorlage des Plugins hinzufügt. Glücklicherweise werde ich heute den einfachsten Weg veranschaulichen, wie Sie dies erreichen können, ohne Ihre Website zu beschädigen.
Beispiel für Inhalte, die nach dem Beitragsinhalt hinzugefügt werden sollen
Ein gutes Beispiel ist, wenn Sie Ihren Besuchern eine kurze Notiz über die Offenlegung von Partnern oder die Kommentarrichtlinie mitteilen möchten.
Anstatt diesen Inhalt jedes Mal einzugeben, wenn Sie den Beitrag oder die Seite veröffentlichen, können Sie dies mithilfe eines Filters automatisch erledigen lassen.
Sie sparen nicht nur Zeit, sondern vermeiden auch Tippfehler, wenn Sie diese Art von Inhalt hinzufügen müssen. Wenn Sie kein WordPress-Entwickler sind, können Sie dieses Snippet einfach zu Ihrer functions.php-Datei hinzufügen und den Inhalt durch Ihren jeweiligen Inhalt ersetzen. Sie müssen sich in Zukunft keine Sorgen mehr machen.
Hinzufügen von Inhalten nach Seiten- oder Post-Inhalten in WordPress
Wenn Sie WordPress-Designs erstellen oder WordPress-Designs anpassen, müssen Sie möglicherweise Inhalte am Ende von the_content hinzufügen . Dies ist besonders häufig der Fall, wenn Sie benutzerdefinierte Metafelder oder benutzerdefinierte Beitragstypen mit bestimmten Details verwenden, die am Ende jedes Beitrags hinzugefügt werden sollten.
Sie können möglicherweise get_post_meta , get_user_meta oder get_option verwenden , um die für den bestimmten Beitrag oder Benutzer gespeicherten Daten abzurufen, bevor sie nach der Funktion the_content hinzugefügt werden.
Es gibt mehrere Situationen, in denen Sie möglicherweise Inhalte nach the_content hinzufügen müssen. Ich möchte es Ihnen leicht machen, indem ich Schritt für Schritt zeige, wie Sie Inhalte nach the_content hinzufügen.
Filtern Sie den Hook nach the_content, um neuen Inhalt hinzuzufügen
Um Inhalte auf einer WordPress-Seite hinzuzufügen, müssen Sie natürlich verstehen, wie die Filter-Hooks funktionieren. Im Idealfall hat WordPress zwei Arten von Hooks, die Action-Hooks und die Filter, wie in diesem Beitrag klar erklärt – WordPress do_action-Hooks und Filter anwenden, oder Sie sollten zumindest eine Vorstellung davon haben, wie Sie die Datei functions.php in Ihrem Design bearbeiten
Wir benötigen also einen Filter, der den Inhalt unserer Seite filtert und dann den neuen Inhalt hinzufügt, bevor wir die Ausgabe zurückgeben können.
Fügen Sie Inhalt nach the_content in WordPress hinzu
Zuerst müssen wir den Filter wie folgt erstellen:
add_filter('the_content', 'add_content_after');
Die Callback-Funktion sollte nun den Code enthalten, den wir nach the_content hinzufügen möchten. Wir sollten auch den Parameter $content in der Callback-Funktion übergeben, damit wir filtern und zurückgeben:
Funktion add_content_after($content) { $after_content = „Beispiel unserer Kommentarrichtlinie“; $fullcontent = $inhalt . $after_content; $fullcontent zurückgeben; }
In diesem Fall fügen wir also den $after_content hinzu und er wird wie im Bild unten angezeigt:
Sie können den Wert von $after_content im Code durch Ihre Nachricht ersetzen und das vollständige Snippet in die functions.php einfügen, und der Inhalt wird nach dem Inhalt hinzugefügt. Das kombinierte Code-Snippet lautet wie folgt:
add_filter('the_content', 'add_content_after'); Funktion add_content_after($content) { $after_content = „Beispiel unserer Kommentarrichtlinie nach dem Inhalt von Beiträgen“; $fullcontent = $inhalt . $after_content; $fullcontent zurückgeben; }
Fügen Sie Inhalt vor the_content in WordPress-Seite oder Post hinzu
Unter bestimmten Umständen möchten Sie möglicherweise den Inhalt vor the_content hinzufügen . Als ich beispielsweise kürzlich eine Haustier-Website erstellte, musste ich die Details der Hunderassen auflisten, bevor der Inhalt angezeigt werden konnte, wie im folgenden Bild gezeigt:
Obwohl ich in diesem Projekt einen anderen Ansatz verwendet habe, würden Sie, wenn Sie den Inhalt vor the_content anzeigen müssten, immer noch den oben freigegebenen Filter verwenden, und der einzige Unterschied besteht darin, wenn Sie der Variablen $fullcontent beitreten .
In diesem Fall würden Sie mit dem Inhalt beginnen, den Sie zuerst anzeigen möchten, wie unten gezeigt:
add_filter('the_content', 'add_content_before'); Funktion add_content_before($Inhalt) { $before_content = „Beispiel unserer Kommentarrichtlinie vor dem Posten von Inhalten“; $fullcontent = $before_content . $inhalt ; $fullcontent zurückgeben; }
Die Ausgabe sollte wie in der Abbildung unten hervorgehoben angezeigt werden:
Fügen Sie Inhalt vor und nach the_content in WordPress-Seite oder Post hinzu
Sie können auch ein kombiniertes Szenario haben, in dem Sie Inhalte vor und nach the_content anzeigen möchten, und dies kann mit dem folgenden Code erreicht werden:
add_filter('the_content', ' add_content_before_and_after); Funktion add_content_before_and_after($content) { $before_content = „Beispiel unserer Kommentarrichtlinie vor und nach dem Posten von Inhalten“; $after_content = „Beispiel unserer Kommentarrichtlinie vor und nach dem Posten von Inhalten“; $fullcontent = $before_content . $inhalt . $after_content; $fullcontent zurückgeben; }
Die Ausgabe sollte wie in der Abbildung unten hervorgehoben angezeigt werden:
Fügen Sie Inhalte vor und nach the_content und in benutzerdefinierten Beitragstypen hinzu
Wenn Sie es vorziehen, nur diesen Inhalt für einen bestimmten benutzerdefinierten Beitragstyp hinzuzufügen, können Sie eine Logik hinzufügen, die bestimmt, ob wir den benutzerdefinierten Beitragstyp anzeigen und wenn ja, fügen wir den Inhalt hinzu, andernfalls geben wir den standardmäßigen the_content zurück.
Wenn Ihr benutzerdefinierter Beitragstyp in diesem Fall „Bücher“ heißt, sollte der Code wie folgt lauten:
//4 Schritte zum Hinzufügen des neuen Inhalts zu einer bestimmten benutzerdefinierten Seitenvorlage für den Beitragstyp add_filter('the_content', 'add_new_content_after_books_custom_post_type'); Funktion add_new_content_after_books_custom_post_type($content) { //1) Überprüfen Sie, ob wir uns auf dem einzelnen Beitrag befinden und der Beitragstyp gleich Büchern ist, dh der Slug des benutzerdefinierten Beitragstyps if (ist_singular("Bücher")){ //2) Fügen Sie den neuen Inhalt einer Variablen hinzu $new_books_content = "Dies ist der neue Buchinhalt, der nach dem benutzerdefinierten Beitragstyp "Bücher" hinzugefügt werden soll" $aftercontent = $new_books_content; $fullcontent = $inhalt . $nachinhalt; //3) Geben Sie das erste Mal für den benutzerdefinierten Beitragstyp zurück, wenn die Bedingung wahr ist $fullcontent zurückgeben; }anders{ //4) Wenn dies eine andere Seite oder ein anderer Beitrag ist, geben die Bücher cpt den Standardwert the_content ohne den zusätzlichen Inhalt zurück gib $inhalt zurück; } }
Einpacken
Wie wir in diesem Beitrag skizziert haben, sollte das Hinzufügen von Inhalten nach the_content oder davor keine schwierige Aufgabe sein, Sie können das Code-Snippet schnell in Ihre Theme- functions.php -Datei kopieren und es sollte funktionieren.
Als professioneller WordPress-Entwickler kann es hilfreich sein, mehr über die WordPress-Action-Hooks und insbesondere die Filter-Hooks zu erfahren. Ich hoffe, Sie finden dieses Tutorial nützlich und werden es mit Ihren Entwicklerkollegen und Freunden teilen.