WordPress MU sprachabhängige Templates einbinden
Auf einer meiner Domains läuft seit ein paar Tagen WordPress MU. Es wird dort ein deutsches und ein englisches Blog geben, die beide gleiche Inhalte haben werden und auch das gleiche Theme. In WordPress MU ist es ja möglich, für jedes Blog eine separate Sprache zu wählen.
Nun bin ich im Moment dabei, das Theme umzusetzten. Es wird ganz normal lokalisiert, so daß es für deutsch und englisch nutzbar ist. Es wird aber Bereiche geben, die ich nicht im Theme übersetzten möchte, weil zB. die Passagen zu lang sind und nur unnötig die Sprachdateien aufblähen würden. Ein weiterer Stolperstein ist auch die Seitennavigation. Wenn ich bestimmte Seiten aus der Navigation ausschließen möchte, habe ich ein Problem, da die ID’s der Seiten aus dem einen Blog nicht die gleichen sind wie aus dem anderen Blog. Ich will aber den Pflegeaufwand für das Theme so gering wie möglich halten und nicht jede Änderung am Code oder am CSS in 2 Themes durchführen (Horror!).
Dabei bin ich auf folgende Lösung gekommen: Jedes Blog hat eine ID. Sagen wir mal, das engliche Blog hat die ID 1 und das deutsche Blog die ID 3. Damit kann man arbeiten. Man legt für eben solche Schnipsel 2 Dateien an, zB. en_navigation.php und de_navigation.php, in denen die unterschiedlichen Anforderungen notiert sind. Jetzt müssen diese Dateien je nach Blog entsprechend includiert werden. Dazu schreibt man sich eine kleine Funktion.
function di_get_preffix() { global $blog_id; if((int)$blog_id === 1) { return 'en'; }elseif((int)$blog_id === 3){ return 'de'; } }
Jetzt kann man in den Templates mit dem Funtionsaufruf an jeder beliebigen Stelle seine Dateien einbinden.
include TEMPLATEPATH . '/' . di_get_preffix() . '_navigation.php';
Auf das if(file_exists(…)) verzichte ich hier, da man das im eigenen Blog im Griff haben sollte.
- Kategorie: WordPress
- Tags: theme, WordPress, WordPress MU
- Kommentar-Feed | Trackback URL
- Gelesen: 4430 | Heute: 4
- einen Kommentar schreiben

