Verschiedene single.php files

  • Hallo liebe WP-Community,


    ich möchte verschiedene single.php files anlegen. Hab's gegoogled, doch die Beispiele, wie zum Beispiel für die kategorie ein single.php zu erstellen (also wenn Kategorie blog, dann single-blog.php), haben nicht funktioniert. Gibt's da eine andere Möglichkeit?

    Also was ich möchte ist, wenn man auf die folgende Seite geht:

    http://www.jene-music.com

    Das man alles was unter der Startseite steht nicht kommentieren kann. Doch die Beiträge unter Blog sollten Benutzer die Möglichkeit haben, Kommentare zu posten.


    Danke euch!

    • 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

  • für die Startseite ist home.php zuständig bzw. front-page.php, falls du eine statische Startseite hast.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • für Kategorien kannst verschiedene category Templates anlegen.

    Oder verstehe ich es wieder falsch?

    Oder willst du verschiedene Einzel-Artikel Ansichten? Dann könntest du in der single.php mit Conditional-tags (z. B. in_category) verschiedene single files includieren.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (5. Mai 2015 um 17:05)

  • das kommt drauf an,
    wenn du dies mit einem ChildTheme realisierst

    (uralte Funktion, gibt sicher edlere Lösungen), aber sie tut

    PHP
    add_filter('single_template', 
    create_function('$mtssingle', 'foreach( (array) get_the_category() as $cat ) { 
    if ( file_exists(get_stylesheet_directory(). "/single-{$cat->slug}.php") ) 
    return get_stylesheet_directory(). "/single-{$cat->slug}.php"; 
    
    
    } 
    
    
    return $mtssingle;' ));

    im Parent Theme musst du den Pfad zur Datei ändern ...

    PHP
    get_template_directory()
  • das kommt drauf an,
    wenn du dies mit einem ChildTheme realisierst

    (uralte Funktion, gibt sicher edlere Lösungen), aber sie tut

    PHP
    add_filter('single_template', 
    create_function('$mtssingle', 'foreach( (array) get_the_category() as $cat ) { 
    if ( file_exists(get_stylesheet_directory(). "/single-{$cat->slug}.php") ) 
    return get_stylesheet_directory(). "/single-{$cat->slug}.php"; 
    
    
    } 
    
    
    return $mtssingle;' ));

    im Parent Theme musst du den Pfad zur Datei ändern ...

    PHP
    get_template_directory()

    Ja die gibt es. Falls jemand mal das selbe Problem wie ich hat, folgende Lösung:

    [COLOR=#444444][FONT=Open Sans]Aus der single.php den kompletten Code löschen und folgenden Code einfügen.[/FONT][/COLOR]
    [INDENT]

    PHP
    <?php
    $post = $wp_query->post;
    if ( in_category(’12’) ) {
    include(TEMPLATEPATH . ‘/single-neu.php’);
    } else {
    include(TEMPLATEPATH . ‘/single-standard.php’);
    }
    ?>


    Die single.php fungiert als Weiche. Wird ein Beitrag der Kategorie mit der ID 12 aufgerufen, so wir die Datei single-neu.php genutzt. Wird ein Beitrag einer anderen Kategorie aufgerufen, so wird die single-standard.php genutzt.
    [/INDENT]

Jetzt mitmachen!

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