Shortcode in Beitrags-Template integrieren

  • Hallo Zusammen,

    das Problem stellt sich folgendermaßen dar.... ich möchte den Content eines Shortcodes jedem geschriebenen Beitrag "anhängen". Der Shortcode ist vom Plugin WP Glossary von Codecanyon.

    Der einfachste Ansatz wäre natürlich einfach ein benutzerdefiniertes Feld im Beitrag ins Single-Post -Template zu übergeben, aber das WP Glossary nutzt hier Custom Post Types. Benutzerdefinierte Felder stehen hier nicht zur Verfügung.

    Dann habe ich den zweiten auffindbaren Ansatz ausprobiert

    Code
    echo do_shortcode('[myshortcode]');

    , was funktioniert hat. Leider befindet sich der Inhalt des Shortcodes aber nicht im content-Bereich, weshalb die Formatierung fehlt.

    Hier ist das Template-File:


    Und so schaut es auf der Webseite aus:


    Mit PHP komme ich leider überhaupt nicht klar. Aber vielleicht fehlt mir hier auch nur das Wordpress Verständnis wie man das am Besten implementiert. Vielleich ist es auch nur ein Fehler im PHP

    • 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

  • Es gibt verschiedene Möglichkeiten.

    Du könntest z.b die Struktur so lassen und die Abstände mit CSS korrigieren.
    Oder du fügst deinen Shortcode direkt in die Datei "includes/content-single.php" ein. Das ist die Datei, die den Content-Bereich deiner Seite "erzeugt".

  • Danke für die Tipps. Ich hab mich mal belesen und habe mal einen content Filter geschrieben.



    Wie man vielleicht schon an den Code-Zeilen erkennen kann, soll in jedem Content eines bestimmten Custom-Post-Type-Beitrages der Inhalt eines Shortcodes angehängt werden. Leider funktioniert er nicht, daher bin ich da jetzt wieder etwas ratlos ....

  • Hier eine leicht abgewandelte Version, die den Post-Type über eine API-Funktion ermittelt, den Shortcode auch ausführt und mittels [FONT=courier new].=[/FONT] ohne zusätzliche Variable gleich an $content anhängt.

    PHP
    function add_your_shortcode_below_content( $content ) {
        if ( get_post_type() == 'custom-post-type' ) {
            $content .= do_shortcode( '[shortcode]' );
        }
        return $content;
    }
    add_filter( 'the_content', 'add_your_shortcode_below_content' );


    Wahlweise könnte man den Check auch alternativ so lösen:

    PHP
    if ( is_singular( 'custom-post-type' ) ) {

    Einmal editiert, zuletzt von b3317133 (26. Mai 2017 um 19:15)

  • Über die API funktioniert es perfekt ;-) Schon wieder was dazu gelernt und mittlerweile macht es auch Spaß ;-)) Vielen Dank für deine Hilfe ..

    Viele Grüße
    Jörg

Jetzt mitmachen!

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