In einen Post einfügen

  • Hallo Leute.
    Wie schaffe ich es etwas in einem Post einzufügen. Ziel ist das in einem Beitrag nach dem ersten Absatz oder vor der <H3> Überschrift immer eine kleine textbox platziert wird. Möglich wären auch nach zum Beispiel den ersten 100 Wörtern (Hier habe ich nur Angst das ein Satz unterbrochen wird)

    Überlegt habe ich mir folgendes functions.php

    PHP
    function insertFootNote($content){                      if(is_single()) {
    			  if(has_category( array( 'style', 'schuhe' ) ) ) 	{   			  					                                         $content.= "<div class='zumKommentar'><a href='#reply-title'>deine Meinung als Kommentar hinzufügen</a></div>";}								  								  if(has_category( 'fustyle' ) ) 								   {								   $content.= '[su_slider source="category: 15" limit="10" link="post"]';								   }
    }                     return $content;}add_filter ('the_content', 'insertFootNote');

    So kann ich über die Kategorie steuern was in den Beiträgen steht. Das Problem ist aber das platzieren in einem Post! Kann mir hier jemand helfen?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wenn es immer vor der h3 eingefügt werden soll, könntest du z.B. mit explode arbeiten.
    http://php.net/manual/de/function.explode.php

    Damit könntest du den Content an jeder Stelle, an der "<h3" als Zeichenkette Auftritt, in ein Array zerlegen und dann, mit dem Teil den du einfügen möchtest, in einer Schleife wieder zusammensetzen.

    Man müsste wahrscheinlich schauen, ob das von der Performance her ok ist. Aber es sollte auf jeden Fall funktionieren.

    Edit:
    Wenn es nicht vor jeder h3 sein soll, sondern nur vor dem ersten Auftreten einer h3, könntest du auch substr und strpos verwenden.
    http://php.net/manual/de/function.substr.php
    http://php.net/manual/de/function.strpos.php

    Einmal editiert, zuletzt von danielgoehr (15. August 2017 um 22:37)

  • Danke für den Tipp leider bin ich kein php profi (kann eher nix) kannst du mir sagen wie mir das hilft? ich will einfach immer nach vor der ersten H3 in einem Beitrag den Zusatz angezeigt bekommen. Wie bei mir in meinem Beispiel bekomme ich das nur am Ende des Beitrages hin. Einen Hook für einem Post habe ich leider nicht gefunden.

    Wenn es immer vor der h3 eingefügt werden soll, könntest du z.B. mit explode arbeiten.
    http://php.net/manual/de/function.explode.php

    Damit könntest du den Content an jeder Stelle, an der "<h3" als Zeichenkette Auftritt, in ein Array zerlegen und dann, mit dem Teil den du einfügen möchtest, in einer Schleife wieder zusammensetzen.

    Man müsste wahrscheinlich schauen, ob das von der Performance her ok ist. Aber es sollte auf jeden Fall funktionieren.

    Edit:
    Wenn es nicht vor jeder h3 sein soll, sondern nur vor dem ersten Auftreten einer h3, könntest du auch substr und strpos verwenden.
    http://php.net/manual/de/function.substr.php
    http://php.net/manual/de/function.strpos.php

  • Wenn du das selber machen willst, müsstest du jetzt einiges an Zeit investieren um dich einzulesen. Das ist der schwierige Teil, den die Werbung immer vergisst ;-)

    Oder du investierst Geld und schreibst den Job z. B. hier im Forum (Jobbörse) aus.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Wenn du das selber machen willst, müsstest du jetzt einiges an Zeit investieren um dich einzulesen. Das ist der schwierige Teil, den die Werbung immer vergisst ;-)

    Oder du investierst Geld und schreibst den Job z. B. hier im Forum (Jobbörse) aus.

    Das ist ein kleiner Style Blog mit freunden und da wollte ich eigentlich kein Geld für ausgeben. Wir machen damit ja auch keine Kohle. Ich hatte einfach gedacht das es vielleicht nicht so schwer ist etwas in einem Post zu platzieren mit der H3. Aber wenn das so schwer ist und so ein Problem dann muß ich das lieber lassen.

  • Das ist ein kleiner Style Blog mit freunden und da wollte ich eigentlich kein Geld für ausgeben. Wir machen damit ja auch keine Kohle. Ich hatte einfach gedacht das es vielleicht nicht so schwer ist etwas in einem Post zu platzieren mit der H3. Aber wenn das so schwer ist und so ein Problem dann muß ich das lieber lassen.

    Es ist eigentlich nicht so wahnsinnig schwer. Aber ein bisschen Grundlagenwissen in PHP braucht man schon. Da du ja aber auch den Code im ersten Post hinbekommen hast, kann ich mir schon vorstellen, dass du es mit ein bisschen "Einlesen" (siehe meine Links) selbst hinbekommst.

    Alternativ könntest du auch einen eigenen Shortcode erstellen. Den müsstest du dann aber händisch vor jeder h3 einfügen.
    https://codex.wordpress.org/Function_Reference/add_shortcode

  • Es ist eigentlich nicht so wahnsinnig schwer. Aber ein bisschen Grundlagenwissen in PHP braucht man schon. Da du ja aber auch den Code im ersten Post hinbekommen hast, kann ich mir schon vorstellen, dass du es mit ein bisschen "Einlesen" (siehe meine Links) selbst hinbekommst.

    Alternativ könntest du auch einen eigenen Shortcode erstellen. Den müsstest du dann aber händisch vor jeder h3 einfügen.
    https://codex.wordpress.org/Function_Reference/add_shortcode

    Danke für den Tipp an einen Shortcode hatte ich auch schon gedacht. Aber ich will halt nicht jeden alten Post wieder neu aufmachen und das einfügen. An "meinem" kleinen PHP Schnipsel habe ich auch ein paar Stunden des Wochenendes getüftelt. Das Problem ist das mir bei "in den Post" einfügen ganz einfach der Grundgedanke schon fehlt wie das gehen soll. Wird da weiterhin der Filter the_content genutzt?[COLOR=#DD0000][FONT=monospace] [/FONT][/COLOR]

  • Nur vor der ersten H3

    Ich habe es jetzt nicht getestet, aber es sollte dann ungefähr so funktionieren:

  • Ich habe es jetzt nicht getestet, aber es sollte dann ungefähr so funktionieren:

    Ich habe es gerade mit genau deinem Code probiert und es klappt leider nicht. Wenn ich das mit meinem ganz ganz ganz schlechten php durchgehe finde ich aber auch nichts falsches. Kann es an dem $trenner liegen???

  • Ich habe es jetzt doch mal getestet. Waren gleich mehrere Fehler drin.

    So passt es jetzt:

    Das kommt davon, wenn man es nicht testet :-P

  • Klappt sehr gut ich danke dir. Für alle die es lesen.... achtet darauf das <h3 auch im Quelltext steht und nicht <H3. Hat mich noch ne halbe Stunde suchen gekostet.

    Gruß
    caos

    Ich habe es jetzt doch mal getestet. Waren gleich mehrere Fehler drin.

    So passt es jetzt:

    Das kommt davon, wenn man es nicht testet :-P

  • danielgoehr  spickzettel Ich danke euch beiden ihr habt mir super geholfen und mit dem PHP Quelltext habe ich wieder etwas dazu gelernt mit dem suchen in dem Text. Vielen vielen Dank so macht wordpress gleich noch mehr Spaß

    2 Fragen hätte ich noch

    Wenn ich

    PHP
    $mein_content = 'das mußt du sehen';

    schreibe wird das "ß" als � angezeigt. Wieso und wie kann ich das ändern?

    2te Frage

    PHP
    add_filter( 'the_content', 'my_the_content_filter', 20 );

    wofür steht die 20 am Ende?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!