1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP <5.0 styles des child-theme wird nicht geladen

Dieses Thema im Forum "Konfiguration" wurde erstellt von parcel, 31. Mai 2018.

Schlagworte:
  1. parcel

    parcel Well-Known Member

    Registriert seit:
    2. März 2011
    Beiträge:
    235
    Zustimmungen:
    0
    Hallo,
    ich habe ein child-theme installiert um das Design des parent-themes zu ändern, hat geklappt! Jetzt habe ich das parent-theme aktualisiert und plötzlich wird das child-theme - besser gesagt die styles.css des child-themes - nicht mehr geladen.
    Ich habe das child-theme im wp-Backend mit dem parent-theme und wieder zurück ausgetauscht, aber ohne Ergebnis.
    Was kann ich tun, dass diese Datei geladen wird?
    Vielen Dank für eure Hilfe!
     
  2. Marcus[IS]

    Marcus[IS] Well-Known Member

    Registriert seit:
    23. August 2009
    Beiträge:
    5.955
    Zustimmungen:
    175
    Hi,

    wie hast du das Child Theme denn erstellt?
    Normalerweise geht man nicht hin und kopiert einfach das Parent in einen neuen Ordner, zumindest verstehe ich das gerade so was du oben beschreibst. ;)
    Ich habe mal vor einiger Zeit ein kleines Tutorial zum Erstellen von Childthemes verfasst, eventuell hilft dir das ja weiter.

    Alternativ könntest du aber auch hingehen und den WordPress Integrierten Customizer verwenden, wenn es nur CSS Änderungen sein sollen.
    Den findest du unter Design/Customizer im Adminbereich.
    Dort ist ein Abschnitt Zusätzliches CSS und dort könntest du deine Änderungen auch eintragen, sofern das Theme den Customizer unterstützt. Auch diese Änderungen bleiben bei einem Theme Update erhalten.
     
  3. parcel

    parcel Well-Known Member

    Registriert seit:
    2. März 2011
    Beiträge:
    235
    Zustimmungen:
    0
    Hi Marcus,
    die website läuft schon seit einigen Jahren als child-theme, ich denke du hast recht, das man die style.css jetzt via functions.php einbinden lassen muss, das liegt glaube ich an der WP Version. Ich habe das Script aus deinem Tutorial verwendet, aber es will nicht klappen …
    Habe functions.php erstellt und in das Verzeichnis des child gelegt der Inhalt der functions.php lautet:

    <?php

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

    :(
     
  4. Marcus[IS]

    Marcus[IS] Well-Known Member

    Registriert seit:
    23. August 2009
    Beiträge:
    5.955
    Zustimmungen:
    175
    Verwendest du ein freies Theme? Falls ja welches? Dann könnte ich mir das mal anschauen wo es hängen könnte.
     
  5. Marcus[IS]

    Marcus[IS] Well-Known Member

    Registriert seit:
    23. August 2009
    Beiträge:
    5.955
    Zustimmungen:
    175
    Ergänzende Frage hierzu;
    Hast du auch die style.css für das Child Theme erstellt?
    Dort sollte ja der Eintrag Template: den ich ja in meinem Tutorial ein wenig erkläre vorhanden sein. Hier muss der Name des Parent Theme eingetragen werden, sonst geht es nicht. Das hängt technisch gesehen alles zusammen, wie WordPress die Struktur abfragt.
     
  6. parcel

    parcel Well-Known Member

    Registriert seit:
    2. März 2011
    Beiträge:
    235
    Zustimmungen:
    0
    So, ich habe gestern noch eine Lösung für mein Problem bekommen.
    Das Theme heißt Baskerville, von Anders Norén und ist erhältlich auf Wordpress.or. Nach einem Versionsupdate gab es verschiedene Usermeldungen, die berichteten, dass die styles.css ihres Child-Themes nicht mehr eingebunden wird. Hier der entsprechende threat auf wordpress.org: https://wordpress.org/support/topic/v1-20-wont-load-child-theme-css/. Das Problem liegt wohl in dem Aufruf aus der functions.php der versucht hat aus meiner styles.css eine weitere styles.css aufzurufen. Mir hat letztendlich folgendes script in der functions.php den erwünschten Erfolg beschert und die styles.css aus meinem child-theme geladen:

    function baskerville_child_enqueue_styles() {
    wp_enqueue_style( 'baskerville-child', get_stylesheet_directory_uri() . '/style.css' );
    }
    add_action( 'wp_print_styles', 'baskerville_child_enqueue_styles', PHP_INT_MAX );

    Bedauerlicher Weise reichen meine Kenntnisse in PHP nicht aus um zu Verstehen, was da passiert und wozu "PHP_INT_MAX" angeführt wird.

    @Marcus[IS] danke für deine Hilfe!
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.637
    Zustimmungen:
    1.778
    PHP_INT_MAX bedeutet, dass die höchstmöglicher Zahl in PHP verwendet wird. Die Angabe ist die Priorität der Ausfühung von add_action(), also als möglichst allerallerletztes, wahrscheinlich würde einfach auch 11 reichen, eins über dem Standard von 10.

    Das Einbinden von CSS bzw. Scripts sollte man allerdings eigentlich über add_action( 'wp_enqueue_scripts', ... ) machen und (seit WordPress 3.3) nicht mehr über 'wp_print_styles', mehr dazu in der WordPress Dokumentation.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden