Mam problem, mianowicie w moim szablonie wordpressa chciałem zrobić plik do tłumaczenia strony.
Zrobiłem osobny plik:
lang_polski.php
<?php "help" => "pomoc", "all_doctors" => "wszyscy lekarze", ); ?>
Funkcję w osobnym pliku:
language.php
/************************************************************/ /* Define Theme's Constants */ /************************************************************/ /************************************************************/ /* JEZYK */ /************************************************************/ // SPRAWDZA CZY CIASTECZKO JEST USTAWIONE. JAK TAK TO SIĘ DO NIEGO ODWOŁUJE { $ldef = $_COOKIE['lang']; } else { // JESLI NIE MA CIASTECZKA OTWIERAMY DOMYŚLNY JĘZYK NA STRONIE $ldef = "polski"; } // SPRAWDZDAMY CZY PLIK ISTNIEJE. JAK TAK TO SIĘ DO NIEGO ODWOŁUJEMY $lang_file = ''.MYTHEMEROOT.'/lang/lang_'.$ldef.'.php'; include ($lang_file); } else { } function _lang($var, $var_wp) { if($var_wp == ""){ }else{ } }
A w pliku header.php dałem includea:
// language include('lib/functions/language.php');
oraz wywołanie funkcji w pliku header.php (jako próba):
<?php _lang($lang['help'], ""); ?> zwraca odpowiednio "pomoc"
I do tego momentu jest wszystko super. Za to kiedy chcę umieścić tłumaczony tekst w innym pliku np. template_gallery.php to otrzymuję błąd:
Notice: Undefined variable: lang in /***/wp-content/themes/final/template-gallery.php on line 33
I teraz proszę o pomoc, czy jest coś o czym nie wiem?
Idąc krok po kroku... funkcje oraz include powinny zostać zaimportowane wraz z plikiem header.php, niestety tak się nie dzieje. Co jest źle?
Chciałem dodać includy w pliku funkcje.php ale wtedy dostaję błąd:
<b>Notice</b>: Undefined variable: lang in <b>/***/wp-content/themes/final/header.php</b> on line <b>61</b><br />
Proszę niech mi ktoś to wytłumaczy. W razie pytań chętnie odpowiem.
Pozdrawiam i dziękuję

[EDIT] [SOLUTION]
Już sobie poradziłem.
Wystarczyło dodać global
<?php "charset" => "utf-8", "help" => "pomoc", "all_doctors" => "wszyscy lekarze" ); ?>
Pozdro