Plugin Entwicklung: Frage zu the_post

  • Hey!

    Habe jetzt kein explizites Forum für Fragen zur eigenen Entwicklung von Plugins gefunden, hoffe es ist ok, wenn ich meine Frage heir rein poste.
    Ich versuche gerade ein Plugin zu schreiben, dass mir alle Bilder eines Posts durchnummeriert. Also dass dann unter dem 1. Bild "Bild 1" unter dem 2. Bild "Bild 2" usw. als Caption steht.

    Hätte mir gedacht, es wäre am sinnvollsten, das auf Post-Ebene durchzuführen und habe daher versucht, den 'the_post' Hook zu nutzen. Ein kurzer Testversuch hat mir dann aber gezeigt, dass 'the_post' scheinbar drei mal für meinen Post in der Detailansicht aufgerufen wird? :?

    PHP
    function do_stuff($post)
    {    
        $post->post_title = $post->post_title . "1234";
    }
    add_action( 'the_post', 'do_stuff' );

    Habe ich den 'the_post' Hook falsch verstanden? Gibt es einen anderen Hook in den ich mich besser reinhängen sollte?

    Immer beschäftigt.... :)

    • 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

  • Habe ich den 'the_post' Hook falsch verstanden? Gibt es einen anderen Hook in den ich mich besser reinhängen sollte?

    Benutzer besser den [FONT=courier new]the_content[/FONT] Filter, z.B.

    PHP
    function b3317133_the_content( $content ) {
        $counter = 0;
        $content = preg_replace_callback( '/<img .*?>/', function( $matches ) use ( &$counter ) {
            $counter++;
            return 'Bild ' . $counter . ': ' . $matches[0];
        }, $content );
        return $content;
    }
    add_filter( 'the_content', 'b3317133_the_content', 999 );


    ggf. i.v.m. einem Conditional.

    Ergänzung, auch für Mitleser: [FONT=courier new]$matches[0][/FONT] stellt jeweils den [FONT=courier new]<img ..>[/FONT] Tag dar. Wie man die Bildnummer da jetzt davorstellt, anhängt, in HTML verpackt, das darf jeder gern selbst üben. ;-)

    Einmal editiert, zuletzt von b3317133 (24. Februar 2017 um 16:11)

  • Hmmm, ja den Filter hab ich eh schon gesehen, allerdings müsste ich hier eben direkt den HTML-Code bearbeiten, was ich eigentlich eher vermeiden wollte. Danke aber trotzdem mal für die schnelle Antwort und das super Beispiel! =)

    Falls irgendjemand hier noch eine Idee hat, warum mein [COLOR=#333333]the_post Hook 3x aufgerufen wird, nur raus damit^^[/COLOR]

    Immer beschäftigt.... :)

Jetzt mitmachen!

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