audio player vs. the_content

  • Liebe Wordpress Geeks!

    Ich bastle gerade an einem mehrspaltigen Theme: In der ersten Spalte ist der Loop (also der Blog). In die zweite, dritte und vierte Spalte kommt jeweils der Inhalt einer Einzelseite.
    Nun bin ich auf folgendes Problem gestossen: Eine dieser Spalten soll Audio enthalten, dazu habe ich das Audio Player Plugin installiert. Es funktioniert einwandfrei in Blogeinträgen und in der eigentlichen Einzelseite, nicht aber wenn ich den Inhalt der Seite folgendermassen in das Template einbaue:

    PHP
    <?php $page_id = 11;
        $page_data = get_page( $page_id );
        $content = $page_data->post_content;
        $title = $page_data->post_title;?>
        <p><?php echo $page_data->post_content;?></p>

    Nicht funktionieren bedeutet: Anstelle des Audioplayers wird nur der Shortcode angezeigt. Warum greift das Plugin nicht? Muss ich eine Funktion des Audio Players explizit einbinden, z.b. in functions.php? Mache ich etwas grundlegendes falsch?

    Link zur mehrspaltigen Seite: people.zhdk.ch/josef.renner/wp_test/?page_id=5
    Link zur Einzelseite: people.zhdk.ch/josef.renner/wp_test/?page_id=11
    Ich benutze Wordpress Version 2.9.2
    Das Theme kann hier heruntergeladen werden:
    people.zhdk.ch/josef.renner/archiv.zip (wichtig ist eigentlich nur index.php)

    Vielen Dank fürs Lesen und - noch besser - Antworten,
    Josef

    • 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

  • Ich denke, Du gibst da die Rohdaten aus. Da werden bestimmt keine Hooks ausgeführt, deshalb wird der Shortcode auch nicht ersetzt. Die Funktio get_page ist da nicht richtig, würde ich vermuten. Mache besser einen neuen Mini-Loop, aber ohne den Original-Loop zu überschreiben.

  • Gelöst!

    Hallo Ammaletu

    Danke für die Antwort. Du hast recht und ich habe inzwischen herausgefunden, wie es geht. Dank Thread 48629 und dank der entsprechenden Codex Seite. Ich habe folgende Funktion in die Datei functions.php meines Themes eingefügt und rufe sie im index.php für jede Spalte mit der ID der jeweils gewünschten statischen Seite auf. Nun funktionieren auch die Short Codes für den Audio Player, Mailformulare, etc.

    PHP
    function get_fine_page($my_id) { 
                    $post_id_ads = get_post($my_id); 
                    $intro = $post_id_ads->post_content; 
                    $intro = apply_filters('the_content', $intro); 
                    $intro = str_replace(']]>', ']]&gt;', $intro); 
                    echo '<p>'.$intro.'</p>'; 
         
    }

    Dieser Thread ist zu Ende, das Problem ist gelöst! Danke, danke, danke! :razz:

Jetzt mitmachen!

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