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

Seltsames Verhalten functions.php bei Sprachdatei in Child Theme

Dieses Thema im Forum "Sprachdatei" wurde erstellt von DeepSpace9, 21. Juni 2015.

  1. DeepSpace9

    DeepSpace9 Member

    Registriert seit:
    12. Juni 2015
    Beiträge:
    10
    Zustimmungen:
    0
    www.flohfernsehen.de: Endlich habe ich verstanden, wie ich die Sprachdatei in mein Child Theme einbinden sollte. Nach Erstellung eines Ordners "languages" im Ordner meines Child Themes yoko-changes (basierend auf Theme yoko) habe ich die überarbeiteten Sprachdateien .mo (und .po als Sicherheitskopie) in dieses Verzeichnis "languages" gepackt. Dann habe ich eine neue Funktion in meiner functions.php vom Child Theme mit einem Hook erstellt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Sollte doch alles in Ordnung sein, nicht wahr? Ist es aber nicht! Nach wie vor wird die alte Sprachdatei vom Parent Theme genutzt!

    Selbst Änderungen der Priorität von add_action (oder in Verzweiflung von load...) helfen nicht.

    Jetzt passiert Voodoo: Es gibt eine Problemlösung, die ich allerdings lieber vermeiden möchte - durch Verzicht auf Kapselung in eine Funktion und stattdessen Direktausführung lässt sich die richtige Sprachdatei nutzen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Schon der Austausch von stylesheet gegen template würde das Ergebnis wieder zerstören. In functions.php vom Parent Theme wurde für diese Angelegenheit ebenfalls auf Def. einer Funktion verzichtet:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich würde gerne hübsch sauber den nötigen Code in eine Funktion stecken, aber das scheint nicht zu klappen? Bereitet vielleicht after_setup_theme in meinem Theme diese Schwierigkeiten? Allerdings habe ich bereits andere Hooks wie init versucht: Nichts! Bisher läuft es nur mit der Direktausführung, also ohne Aufbau einer neuen Funktion.

    Notfalls kann ich damit leben, aber vielleicht erkennt jemand meinen Denkfehler?
     
    #1 DeepSpace9, 21. Juni 2015
    Zuletzt bearbeitet: 21. Juni 2015
  2. bgeissler

    bgeissler Well-Known Member

    Registriert seit:
    6. August 2006
    Beiträge:
    4.404
    Zustimmungen:
    0
    nimm mal den code in die function.php
     
  3. DeepSpace9

    DeepSpace9 Member

    Registriert seit:
    12. Juni 2015
    Beiträge:
    10
    Zustimmungen:
    0
    Vielen Dank für die schnelle Rückmeldung! Bringt leider nicht die gewünschte Wirkung...

    Hätte mich auch gewundert, denn in PHP sollten nach meiner Kenntnis deine und meine Formulierung gleichwertig sein. Aber man hat natürlich schon Wunder bei der Programmierung erlebt... Ich bevorzuge meine Reihenfolge, denn es erscheint mir logisch, erst die Funktion zu definieren und anschließend die Wirkung add_action von dieser Funktion. Allerdings beachtet PHP diesen Zusammenhang nicht streng. Und die meisten bevorzugen wohl deine Vorgehensweise.

    Jedenfalls staune ich noch immer, dass der direkte Weg ohne Kapselung in eine Funktion zum Ziel führt. Vielelicht bin ich mit solchen Spitzfindigkeiten falsch hier im Forum. Jedenfalls ist mir aufgefallen, dass sich die User vornehm zurückhalten, wenn es um Child Themes oder gar um konkreten Code in PHP geht.

    Hingegen sorgen eher Fragen zu Plugins oder Design für Aufregung. Auch ich bin sehr an diesen Problemen interessiert, zumal ich nicht aus dem Development stamme und Wordpress erst jetzt erkunde. Allerdings ist es mir wichtig, meine Wordpress-Installationen sauber und nach aktuellen Regeln zu fahren. Ich bastele lieber stunden- oder sogar tagelang an meiner functions.php, als dass ich faule Plugins einbaue oder immer wieder meine Sprachdateien bei seltsamen Updates überschreiben lasse. Wenn ich alles wunschgemäß eingerichtet habe, würde mein System selbst im Dauerbetrieb reibungslos laufen, zumal ich mit disable_translation_updates.php automatische Updates der Übersetzungsdatei im Core verhindere.

    Vielleicht hat ja noch jemand eine Idee, wie ich zu meiner gewünschten Funktion in der functions.php komme?
     
  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