Wdrożenie Omnibusa w sklepie na WooCommerce (kurs)

Ostatnio na jednej ze stron którą się opiekuję zdecydowaliśmy się na aktualizację motywu Avada do najnowszej wersji (5.0.6). Zmiana została celowo trochę odroczona, bo dotyczy to strony która nie tylko działa i jest też tam sklep internetowy (WooCommerce), ale i miejscami konstrukcja niektórych „fragmentów” jest dość skompilowana, co w przypadku tak dużej migracji (nowy edytor stron, nowe podejście do tematu) może oznaczać problemy…

Aktualizacja motywu Avada z wersji 4.0.3 do 5.0.6

Muszę przyznać, że niby proces aktualizacji dość standardowy, do tego konwersja m.in. „krótkich kodów” na ich nowe wersje zautomatyzowana, to nawet jako dość doświadczona osoba w kilku miejscach trafiałem na momenty, gdy chwilę musiałem pomyśleć nad tym, co autorzy aktualizacji i procesu migracji mieli na myśli.

Na szczęście ostatecznie wszystko udało się prawidłowo zaktualizować, choć ostatnim etapem była ręczna analiza kodu utworzonego na jednej z podstron w procesie konwersji do jego nowej wersji, bo – jak się okazało – konwerter sam wygenerował nowy kod, który stanowił problem, ale „przewrotnie” wyświetlał komunikat, że chyba mamy tu nieskonwertowany kod ze starszej wersji (4.0.3).

Niestety – tak, w tym przypadku niestety – sama podstrona z błędem po konwersji wyświetlała się prawidłowo, więc nie było właściwie żadnego punktu zaczepienia i nie pozostało nic, jak ręczne przeglądanie wygenerowanego kodu (ponad 44 000 znaków), szukanie jakiś dziwnych elementów i pełno testowania metodą „prób i błędów”. Na szczęście się udało…

Brak obsługi arkusza stylów w motywie potomnym

Kolejny problem który zauważyliśmy, to brak przetwarzania arkusza stylów (style.css) w motywie potomnym (child theme). Niby wszystko OK, bo np. znajdujący się tam plik functions.php był prawidłowo przetwarzany, to niektóre modyfikacje w CSSie nie funkcjonowały. W kodzie strony wszystko się zgadzało (nie dokonali jakiejś większej zmiany nazw poszczególnych klas), zresztą kod CSS wprowadzony bezpośrednio w ustawieniach strony również działał prawidłowo.

W takim przypadku postanowiłem sprawdzić, czy nie uległ zamianie fragment odpowiedzialny za wczytywanie kaskadowego arkusza stylów z motywu potomnego – i to był strzał w dziesiątkę.

W wersji 4.0.3 motywu Avada plik functions.php znajdujący się w motywie potomnym zaczyna się od funkcji która wygląda tak:

function theme_enqueue_styles() {
    wp_enqueue_style( 'avada-parent-stylesheet', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );

W wersji 5.0.6 (aktualna wersja) funkcja ta powinna wyglądać tak:

function theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'avada-stylesheet' ) );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );

Nie było to specjalnie trudne do ustalenia, choć mogliby do konwertera dodać również funkcję odpowiadającą przynajmniej za sprawdzenie i wyświetlenie odpowiedniej informacji w razie potrzeby (choć mam świadomość, że najmniej zaawansowani użytkownicy WordPressa zazwyczaj nie korzystają z motywów potomnych).

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Wdrożenie Omnibusa w sklepie na WooCommerce (kurs)
Patryk
Wdrożenie Omnibusa w sklepie na WooCommerce (kurs)