Dateistruktur child-theme und parent-theme

  • Hallo,
    ich möchte in meionem Childtheme eine Datei anpassen, die im parent-theme in einem Unterordner liegt.
    datei-a.php im Ordner A
    Wenn ich in meinem Childtheme auch einen Ordner A anlege und die geänderte datei-a.php dort rein kopiere - dann sehe ich aber meine Änderungen nicht.

    Muss ich noch irgendwas tum, damit das funktioniert, oder kann man nur die Dateien auf erster Ebene ändern?

    • 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

  • Kommt auf das Parent Theme an.


    danke für deine Antwort.
    ich habe die datei datei-a.php in meiner functions per require once auf gerufen und dann bekomme ich leider eine Fehlermeldung

    Fatal error: Cannot redeclare accesspress_parallax_body_classes() (previously declared in /var/www/web22/html/dev3/wp-content/themes/parallax-child/inc/accesspress-functions.php:17) in /var/www/web22/html/dev3/wp-content/themes/accesspress-parallax/inc/accesspress-functions.php on line 24

    was ist damit gemeint?

  • Damit ist gemeint, dass eine Funktion nicht gleichzeitig im Child und Parent Theme definiert werden kann.. "Cannot redeclare" = "Kann nicht nochmals deklarieren".

    Wenn eine Datei im Child Theme eine Datei im Parent Theme ersetzen soll, kopiert man die geänderte Version in den Child Theme Ordner, ohne sonstige Einträge in eine functions.php - mehr dazu auch im Child Theme Handbuch von WordPress.

    Wie heisst Deine Datei datei-a.php wirklich? Ist evtl. diese accesspress-functions.php gemeint? Was genau willst Du mit der Änderung erreichen? Mit etwas detaillierten Informationen hat vielleicht jemand Lust, sich anhand der geposteten Fehlermeldung das verwendete Theme herauszusuchen und dort dann nachzuschauen, ob diese Datei von einem Child Theme überschrieben werden kann oder nicht oder wie man das sonst lösen könnte.

    2 Mal editiert, zuletzt von b3317133 (29. November 2018 um 15:58)

  • Danke für deine Antwort!!
    Eigenltich möchte ich das ja grundsätzlich wissen.
    Ich habe in der Datei eine Stelle die ich ändern möchte - also ich möchte eigentlich ein Customfield (acf) ausgeben lassen und überhaupt die Darstellung etwas ändern. An mehreren Stellen
    In dem Handbuchlink von dir lese ich, dass man das in der functions.php macht - das hattest du ja auch schon erwähnt.

    In dem Beispiel - if ( ! function_exists( 'theme_special_nav' ) ) {function theme_special_nav() {// Do something.}}
    wird gefragt ob die Function noch nicht existiert - aber wenn sie schon existiert - wie ersetze ich sie?

    Ich finde das in der Beschreibung nicht ...

    Ich habe eine laaaange function so aufgefufen und und bekomme wieder eine Fehlermeldung - was mir auch einleuchtet - denn jetzt wird sie später vom Orginaltheme aufgerufen

    Fatal error: Cannot redeclare accesspress_parallax_bxslidercb() (previously declared in /var/www/web22/html/dev3/wp-content/themes/parallax-child/functions.php:24) in /var/www/web22/html/dev3/wp-content/themes/accesspress-parallax/inc/accesspress-functions.php on line 100

    wie kann ich denn die function accesspress_parallax_bxslidercb() überschreiben?
    Oder überhaupt irgendeine bestehende function ändern?

    Vielen Dank für eine Antwort!

  • Wird das Theme von hier verwendet? Welche exakte Theme Version?

    Der Code bei [FONT=Courier New]accesspress_parallax_bxslidercb()[/FONT] wird in diesem Theme über [FONT=Courier New]add_action( .. )[/FONT] aufgerufen. Um eine eigene Version davon zu nutzen, kann man theoretisch (ungetestet) im Child-Theme sowas probieren:

  • ahh - danke ,das ist ja klar, man muss die andere entfernen! :rolleyes:
    Vielen Dank!!!

    ja das ist das theme, für das ich das childtheme angelegt habe

    Die 10 am Ende bedeutet, wann die function aufgerufen oder ausgeführt wird - oder ist das nicht so einfach?

  • Genau also die Zahl am Ende bedeutet folgendes:


    Die Zahl wird verwendet um die Reihenfolge anzugeben, in der die einer bestimmten Aktion zugeordneten Funktionen ausgeführt werden. Niedrigere Zahlen entsprechen der früheren Ausführung, und Funktionen mit derselben Priorität werden in der Reihenfolge ausgeführt, in der sie der Aktion hinzugefügt wurden. Der Default Wert ist imer 10.

Jetzt mitmachen!

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