Piotr J.

Piotr J. IT Administrator

Temat: Modyfikowanie funkcji w child theme

Witam,
Mam pytanie i problem. Chodzi mi o plik functions.php w motywie potomnym. Czy można w nim modyfikować funkcje z motywu głównego. Z tego co wiem to Wordpress czyta w pierwszej kolejności functions.php z child-a potem z motywu głównego. I w child można dodawać nowe funkcje ale nie można modyfikować tych z motywu głównego.
Nie wiem czy tak jest naprawdę.
Mój problem to taki ze mam funkcje ze zmienna :
function weblizar_breadcrumbs() {
(...)
$home = __('Home', 'enigma' ); // text for the 'Home' link
(...)
}
i chcę podmienić ten "home" na coś w stylu "Jesteś w:" lub "strona główna"
To wyświetla mi na każdej stronie gdzie aktualnie się znajduję.np
Teraz : Home/budynek1/parter/pokój12
Chcę mieć: Jesteś w/budynek1/parter/pokój12
Paweł Knapek

Paweł Knapek freelancer, koder,
wordpressowiec

Temat: Modyfikowanie funkcji w child theme

Zasadniczo jeżeli w motywie głównym funkcja nie jest deklarowana warunkowo ( function_exists() ), to z nadpisaniem jej z poziomu potomnego może być problem.

No ale w tym konkretnym przypadku przecież nie musisz podmieniać całej funkcji, wystarczy sobie w w tłumaczeniu spolonizować ;)

Jeżeli tłumaczenie ciągnie ci z childa, to w potomnym sobie tłumaczysz programem POedit albo wtyczką Loco Translate.
Jak nie, to z motywu rodzica kopiujesz sobie do potomnego pliki lokalizacyjne i w functions.php potomnego wskazujesz by z nich czytało >> https://codex.wordpress.org/Child_Themes#Internationali... ...no i w nich tłumaczysz opisaną wyżej metodą.

Jak nie, to można to tłumaczenie nadpisać z poziomu kodu wrzucając w functions.php potomnego np.
function my_text_strings( $translated_text, $text, $domain ) {
if( $domain=='enigma' && $text == 'Home' ) return 'Start';
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

więcej: https://codex.wordpress.org/Plugin_API/Filter_Reference...
Ewentualnie wtyczką Quick Localisation.
Piotr J.

Piotr J. IT Administrator

Temat: Modyfikowanie funkcji w child theme

Dziękuję za pomoc.
Zadziałało dopisanie w child w functions php kawałka tego kodu.
Pozdrawiam

Następna dyskusja:

Child theme, funtions.php i...




Wyślij zaproszenie do