Child-Theme verändert die Farbe des Menüs ?

  • Hallo zusammen,

    nachdem "mensmaximus" mir super dabei geholfen hat die Lösung für ein Problem zu finden (siehe hier: http://forum.wpde.org/design/137636-…-entfernen.html ) entdeckte ich leider bei der Umsetzung dieser Lösung ein weiteres Problem:

    Ich habe ein Child-theme erstellt mit folgenden dateien im Ordner:

    functions.php:

    PHP
    <?phpadd_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_uri(), array( 'parent-style' ) );
    }
    ?>

    style.css (der inhalt der style.css ist die lösung meines vorherigen problemes ;P):

    So sieht also das main theme aus:
    http://files.whymacsucks.com/main.JPG

    Beim aktivieren des Child-themes ändert sich nun pltzöich die farbe des menüs:
    http://files.whymacsucks.com/child.JPG

    Why? Ich habe doch nichts im child menü was mit der farbe des menüs zu tun hat? Jemand eine Idee wie ich das Problem lösen kann?

    Danke !

    • 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

  • Hallo

    Nur eine Mutmasung:
    Es könnte sein, dass sich die Stylesheethirachie durch das Childtheme etwas geändert hat. Versuche mal das Parent-CSS via "@import" im Stylesheet des Childthemes einzubinden und lasse das Einbinden via der functions.php mal weg (prinzipiell ist das zear die bessere, da performanter, Art - kann aber auch zu ein paar Problemen führen).

    LG, pixselig

  • Hallo

    Nur eine Mutmasung:
    Es könnte sein, dass sich die Stylesheethirachie durch das Childtheme etwas geändert hat. Versuche mal das Parent-CSS via "@import" im Stylesheet des Childthemes einzubinden und lasse das Einbinden via der functions.php mal weg (prinzipiell ist das zear die bessere, da performanter, Art - kann aber auch zu ein paar Problemen führen).

    LG, pixselig

    Danke für den Tipp, das werde ich morgen ausprobieren.

    Kann man nicht auch einfach bestimmte-style gruppen importieren? Z.b. nur die style einstellungen der menü-gruppe ?

    Was für ein performance unterschied entsteht denn zwischen @import und functions.php?

    Danke !

  • Der Verlust rührt daher, das bei @import die Parent CSS erst geladen wird, wenn die Child CSS komplett geladen ist und von Browser gelesen wird - das führt zu einer gewissen Verzögerung.

  • Der Verlust rührt daher, das bei @import die Parent CSS erst geladen wird, wenn die Child CSS komplett geladen ist und von Browser gelesen wird - das führt zu einer gewissen Verzögerung.

    Dann wäre die functions.php variante wohl doch besser.

    Jedenfalls funktioniert das child-theme mit @import... sieht 1:1 aus wie das parent theme, sogar widget einstellungen werden automatisch übernommen. Allerdings funktioniert dieser code in der style.css dann nicht mehr:


    CSS
    [COLOR=#333333]#text-2, #text-3 {[/COLOR]	padding-bottom: 0 !important; [COLOR=#333333]}[/COLOR]

    Hast du jetzt noch zufällig eine Idee wie die version mit functions.php nun gängig gemacht werden kann ? ;P

    Danke !

  • PHP
    <?phpadd_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_uri(), array( 'parent-style' ) );
    }
    ?>


    hast du hier zwischen php und add_action wirklich keinen Abstand oder passierte dies während des Kopierens hier?

  • PHP
    <?phpadd_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_uri(), array( 'parent-style' ) );
    }
    ?>


    hast du hier zwischen php und add_action wirklich keinen Abstand oder passierte dies während des Kopierens hier?

    Das passierte durchs kopieren - siehe Anhang

  • Lass mal beim einfügen die PHP-Tags weg
    Also ohne

    PHP
    <?php


    und

    Code
    ?>


    Meinst du jetzt in der functions.php oder hier im forum?

    Ich habe jedenfalls jetzt mal die functions.php auf folgenden Inhalt geändert:

    Code
    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_uri(), array( 'parent-style' ) );
    }

    aber das funktioniert (logischerweise? :P) auch nicht.

    Danke !

    Btw, soll ich den inhalt der functions.php evtl. irgendwo als .txt datei hochladen bzw, auf pastebin ?

  • Heisst die Datei auch wirklich functions.php?
    Auf deinem Screenshot sieht es nämlich so aus, als wäre nach dem "functions" ein Bindestrich und kein Punkt.

  • Heisst die Datei auch wirklich functions.php?
    Auf deinem Screenshot sieht es nämlich so aus, als wäre nach dem "functions" ein Bindestrich und kein Punkt.


    Yup ist als functions.php bennant. Auf dem screenshot war es kurzzeitig functions-old.php wegen testzwecken.

  • Bitte folgende Version versuchen:

    Code
    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts' );
    function mmx_child_scripts() {
        wp_enqueue_style( 'parent-css', get_template_directory_uri() . '/style.css' );
        wp_register_style( 'child-css', get_stylesheet_directory_uri() . '/style.css', array('parent-css') );
        wp_enqueue_style( 'child-css' );
    }

    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.

  • Bitte folgende Version versuchen:

    Code
    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts' );
    function mmx_child_scripts() {
        wp_enqueue_style( 'parent-css', get_template_directory_uri() . '/style.css' );
        wp_register_style( 'child-css', get_stylesheet_directory_uri() . '/style.css', array('parent-css') );
        wp_enqueue_style( 'child-css' );
    }

    Danke für den tipp, leider ohne Erfolg. Die menü leiste ist im child theme weiterhin schwarz anstatt grau :/

  • dann bitte folgende Änderungen durchführen, entweder

    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 5 );

    oder

    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 50 );

    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.

  • dann bitte folgende Änderungen durchführen, entweder

    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 5 );

    oder

    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 50 );


    mit

    Code
    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 5 );
    function mmx_child_scripts() {
        wp_enqueue_style( 'parent-css', get_template_directory_uri() . '/style.css' );
        wp_register_style( 'child-css', get_stylesheet_directory_uri() . '/style.css', array('parent-css') );
        wp_enqueue_style( 'child-css' );
    }

    ändert sich nichts, jedoch mit folgendem code:

    Code
    add_action( 'wp_enqueue_scripts', 'mmx_child_scripts', 50 );
    function mmx_child_scripts() {
        wp_enqueue_style( 'parent-css', get_template_directory_uri() . '/style.css' );
        wp_register_style( 'child-css', get_stylesheet_directory_uri() . '/style.css', array('parent-css') );
        wp_enqueue_style( 'child-css' );
    }

    Ist die menü bar wieder grau und somit genau so, wie ich sie gerne hätte ;) Allerdings wird dann mein eigentlicher grund für die erstellung eines child themes ignoriert:

    Ich möchte die "white bars" unter den adsense widgets entfernen mit folgendem .css code:

    CSS
    #text-2, #text-3 {
        padding-bottom: 0 !important;

    Das funktioniert mit allen varianten außer "50", dafür ist "50" die einzige variante bei welcher die menü bar richtig dargestellt wird.

    DANKE !

  • Dann ist klar wo das Problem liegt. Der Theme Entwickler verwendet mehrere CSS Dateien und bindet diese zu unterschiedlichen Zeitpunkten (Priorität) ein. Was passiert bei folgendem Code:

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

    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.

  • Dann ist klar wo das Problem liegt. Der Theme Entwickler verwendet mehrere CSS Dateien und bindet diese zu unterschiedlichen Zeitpunkten (Priorität) ein. Was passiert bei folgendem Code:

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


    Damit passiert das selbe wie oben beschrieben mit "50". Die menü bar ist richtig jedoch wird meine custom style.css ignoriert welche den weißen balken unter den adsense widgets entfernen sollte :)

    LG

  • Dann bleibt nur die Verwendung eines zweiten Stylesheet, welches als letztes (oder erstes) geladen wir und die entsprechenden Änderungen enthält (also die, die bei der jeweiligen Priorität funktionieren).

    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.

Jetzt mitmachen!

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