http://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:
function my_child_theme_setup() { load_child_theme_textdomain('yoko', get_stylesheet_directory().'/languages');
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );
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:
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:
/**
* Make theme available for translation
* Translations can be filed in the /languages/ directory
*/
load_theme_textdomain( 'yoko', get_template_directory() . '/languages' );
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?