Child theme lädt nicht

  • Hallo,

    ich habe eine Child Theme vom Hathor Theme (/wp-content/themes/hathor) erstellt. Unter wp-content/themes/ habe ich den Ordner hathor-child erstellt.In diesem befinden sich zwei Dateien: style.css mit folgendem Inhalt:

    Code
    /*Theme Name: Hathor-Child
    Template: hathor
    Description: Child theme made of Hathor Theme by imonthemes.com.
    */

    und functions.php mit folgendem Inhalt:

    PHP
    <?php	
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );function theme_enqueue_styles() {    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style') );    }
    ?>

    Das Childtheme kann ich im Dashboard auch aktivieren, aber wenn ich die Seite aufrufen möchte, wird sie nicht angezeigt. Stattdessen wird die Seite ewig geladen, bis die Meldung kommt, dass die Seite nicht geladen werden konnte. Mit dem original Theme funktioniert alles, wie es soll.

    Was habe ich falsch gemacht?

    • 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

  • Nein, Du musste einen Pfad angeben. Beispielsweise:

    @import url('../hathor/style.css');

    Je nachdem, wo das Elterntheme liegt.

    Wobei es allerdings (Premium-)Themes gibt, bei denen das nicht so einfach funktioniert.

  • Hm...

    Anstelle das Parent mit @import anzusprechen wird mittlerweile bei wordpress.org auf einen Weg über die functions.php hingeweisen.
    http://codex.wordpress.org/Child_Themes

    Zitat

    [COLOR=#000000][FONT=sans-serif]Note that the previous method was to import the parent theme stylesheet using @import: this is no longer best practice.[/FONT][/COLOR]

    Bitte keine Fragen per PM, oder Foren-Chat. Für Fragen ist das öffentliche Forum da. Meine Uerdinger Seite

  • Hallo,

    Zitat von 'Marcus[IS

    ;607288']Hm...

    Anstelle das Parent mit @import anzusprechen wird mittlerweile bei wordpress.org auf einen Weg über die functions.php hingeweisen.
    http://codex.wordpress.org/Child_Themes

    weswegen ich diesen Weg gewählt habe, aber leider funktioniert keiner der beiden Wege. Die Seite lädt ewig und irgendwann kommt von Chrome die Meldung, die Seite reagiert nicht – so als ob die Seite beim Laden in eine Dauerschleife kommt oder so.

  • Hast du es mal nur mit diesem Textabschnitt versucht?
    Im Codex stehen ja zwei Varianten drin.

    Code
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );function theme_enqueue_styles() {
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    
    
    
    
    }

    Ach ja, du hast was von zwei style.css geschrieben.
    Wo befinden sich diese denn?

    Eine muss ja im Child-Theme Ordner sein und nur die wird für Anpassungen genomen.
    Die andere wäre ja logischerweise die welche sich im Ordner des Parent Theme befindet, doch die Interessiert ja dann nur nebensächlich, wenn man über Child-Theme anpassen will.

    Bitte keine Fragen per PM, oder Foren-Chat. Für Fragen ist das öffentliche Forum da. Meine Uerdinger Seite

  • Also zumindest hier im Forum enthält Deine style.css ein nicht darstellbares Zeichen am Anfang das gehört weg. Richtig ist:

    Code
    /*
    Theme Name: Hathor-Child
    Template: hathor
    Description: Child theme made of Hathor Theme by imonthemes.com.
    */

    Und in die functions.php gehört kein abschließender PHP Tag (und auch nur ein öffnender am Anfang, dass nur zur Vollständigkeit). Richtig ist:

    PHP
    <?php    
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    function theme_enqueue_styles() {    
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );    
        wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style') );    
    }


    Ich gehe davon aus, dass /hathor tatsächlich so heißt und zusammen mit /hathor-child im /theme Verzeichnis liegt.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo,

    habe das Zeichen und das schließende PHP Tag entfernt, aber leider hat das auch nichts gebracht. Beide Themes liegen im /theme Ordner und die css und php Dateien im Childtheme sollten richtig sein. Mal ein Screenshot mit Ordnerstruktur, den geöffneten Dateien und der Fehlermeldung von Chrome:

  • Kommentiere die die add_action Zeile (also das laden der Parent CSS) einmal aus und lade die Seite erneut. Folgendes Ergebnis wird erwartet:

    zu 90% das Laden der Seite mit fehlender Formatierung, da der Parent fehlt

    zu 10% das einwandfreie Laden mit Formatierung weil das Theme eine eigene Child Erkennung hat (wie. z.B. bei Enfold)

    Trifft das erste Ergebnis zu bindest Du bitte einmal das Parent CSS über die alte @import Methode in der style.css des Childs ein. Falls das funktioniert, lädt das Theme aus anderen Quellen Dateien nach (wie z.B. javo-directory), was den Fehler erklärt.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hallo,

    leider ist keines der beiden Ergebnisse eingetreten. Die Seite lädt schlicht immer noch nicht. Hab eben entdeckt, dass es zu jedem Theme auf wordpress.org support Foren gibt. Habe dort nachgesehen und man muss im Dashboard in die „Theme options“ und dort einmal auf „Save options“ klicken. Ich weiß nicht wieso, aber danach funktioniert das Child-theme.
    Das Thema ist also hoffentlich durch. Vielen Dank für die Antworten und Hilfestellung.

    PS: https://wordpress.org/support/topic/…e-a-child-theme Link ins Supportforum

Jetzt mitmachen!

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