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

Dateistruktur child-theme und parent-theme

Dieses Thema im Forum "Allgemeines" wurde erstellt von irmen, 29. November 2018.

  1. irmen

    irmen Well-Known Member

    Registriert seit:
    8. Januar 2010
    Beiträge:
    971
    Zustimmungen:
    2
    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?
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.681
    Zustimmungen:
    1.786
    Kommt auf das Parent Theme an.
     
  3. irmen

    irmen Well-Known Member

    Registriert seit:
    8. Januar 2010
    Beiträge:
    971
    Zustimmungen:
    2
    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?
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.681
    Zustimmungen:
    1.786
    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.
     
    #4 b3317133, 29. November 2018
    Zuletzt bearbeitet: 29. November 2018
  5. irmen

    irmen Well-Known Member

    Registriert seit:
    8. Januar 2010
    Beiträge:
    971
    Zustimmungen:
    2
    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!
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.681
    Zustimmungen:
    1.786
    Wird das Theme von hier verwendet? Welche exakte Theme Version?

    Der Code bei accesspress_parallax_bxslidercb() wird in diesem Theme über add_action( .. ) aufgerufen. Um eine eigene Version davon zu nutzen, kann man theoretisch (ungetestet) im Child-Theme sowas probieren:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  7. irmen

    irmen Well-Known Member

    Registriert seit:
    8. Januar 2010
    Beiträge:
    971
    Zustimmungen:
    2
    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?
     
  8. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    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.
     
  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