• Hallo,

    ich weiß zwar nicht ob ich hier richtig bin, aber ich versuch es einfach mal.

    Ich bin dabei einen Veranstaltungskalender-Plugin zu Programmieren und frage mich wie ich es hinbekomme, dass meine Listenanzeige auf einer eigenen home.php mit Theme-unabhängigem Design ausgegeben wird.

    Vielen Dank schonmal

    PS: ich hab die aktuellste WP-Version (5.5.1) Installiert

    • 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 bin jetzt ein Schritt weiter. Wenn ich In der Post-Type Einstellung sage:
    'has_archive' => true
    öffnet das Plugin die listenanzeige standardmäßig über archive.php und wenn die der Wert false ist öffnet er die Liste auf home.php.

    und mit folgenden Funktionen kann ich diese für das Plugin entsprechend gegen ein eigenes Template ersetzen.
    Einfach die Filter im constructor vom Plugin aufrufen.


    add_filter('archive_template', function($archive){
    global $post;
    if ($post->post_type == 'posttype-slug'){
    if (file_exists( plugin_dir_path( __FILE__ ).'/plugin-archive-file.php')){
    return plugin_dir_path( __FILE__ ) . '/plugin-archive-file.php';
    }
    }
    return $archive;
    });


    add_filter('home_template', function($home){
    global $post;
    if ($post->post_type == 'posttype-slug'){
    if (file_exists( plugin_dir_path( __FILE__ ).'/plugin-home-file.php')){
    return plugin_dir_path( __FILE__ ) . '/plugin-home-file.php';
    }
    }
    return $home;
    });


    Jetzt frag ich mich halt nur noch, wie ich es hinbekomme das er eine eigene home.php UND eine eigene archiv.php nutzt. Da ich aber noch keine Taxonomien hab werde ich das erst später herausfinden müssen.
    Ich wollte nur Bescheid geben, dass es fürs erste läuft.

Jetzt mitmachen!

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