Seitenlayout Laden Php

<?php
    
    // Die beiden folgenden Zeilen gehören in die functions.php des Themes oder dahin,
    // wo Scripte für ein Plugin oder Widget eingebunden werden. "portfolio-page.js" ist
    // das Script, von dem aus ich die Ajax-Aufrufe mache.
    
    // Das ist der Wordpress-Weg, um Scripte in eine Seite einzubinden.
    wp_enqueue_script('portfolio-page', get_template_directory_uri() . '/js/portfolio-page.js', array('jquery'), false, false);
    
    // Das bedeutet: "Erlaube portfolio-page Zeug mit Ajax aufzurufen."
    wp_localize_script('portfolio-page', 'ajaxAdmin', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));



    // Diese beiden Zeilen gehören ebenfalls in die functions.php. Sie mappen den Ajax-Aufruf auf die
    // entsprechende Php methode. Es ist wichtig, dass die parameter genau zueinander passen, wie hier
    // "tnet_load_post_content" (ja, inklusive dem wp_ Zeugs).
    add_action( 'wp_ajax_tnet_load_post_content', 'tnet_load_post_content' );
    add_action( 'wp_ajax_nopriv_tnet_load_post_content', 'tnet_load_post_content' );

   
   
    // Das hier ist die tatsächliche Methode, die dann vom Javascript aufgerufen wird.
    function tnet_load_post_content()
    {
        $id = $_POST['pageId']; // So kommt man an Parameter, die vom Javascript mitgeschickt werden.
        
        // Hier wird geschaut, ob es sich bei der Seite mit der Id 'pageId' um eine mit einem SiteOrigin Layout handelt.
        $meta = get_post_meta( $id, 'panels_data', true );
        if( class_exists( 'SiteOrigin_Panels' ) && $meta )
        {
            // Ja: Benutze SiteOrigin-Magie, um an das Seitenlayout zu kommen.
            $renderer = SiteOrigin_Panels::renderer();
            $content = $renderer->render( $id );
        }
        else
        {
            // Nein: Hol das Layout im standard Wordpress Weg
            $content = apply_filters( 'the_content', get_page($id)->post_content );
        }
        
        // Gib das Layout zurück an den Aufrufer.
        echo $content;
        
        // Wordpress fügt ohne das hier eine "0" zu der Antwort hinzu.
        die(); 
    }
?>