Większość motywów WordPress jest zintegrowana z wtyczką do budowy sklepu internetowego WooCommerce.
Czasem jednak domyślna zawartość WooCommerce nie pasuje do wybranego motywu.
Gdzie pojawiają się problemy?
Problemy pojawiają się na stronach: sklepu, pojedynczego produktu lub taksonomii (kategorii, tagów), powodując często „rozjechanie” się układu strony.
Na pozostałych stronach (koszyk, konto, kasa) problem się nie poajawia, ponieważ używają szablonu page.php wybranego motywu.
Komunikat o problemie
Po włączeniu w panelu administracyjnym WordPressa wybranego motywu, który nie jest zintegrowany z WooCommercem, pojawia się komunikat:
2 sposoby integracji
Istnieją 2 sposoby, aby rozwiązać pojawiający się problem:
- Użycie funkcji woocommerce_content() w motywie
- Korzystanie z hooków (dla zaawansowanych użytkowników i programistów).
Korzystanie z woocommerce_content()
To rozwiązanie pozwala na dodanie do motywu nowego szablonu strony dla treści związanych ze sklepem.
Wadą tego rozwiązania jest to, że mamy jeden szablon dla wszystkich taksonomii i typów wpisów (kategorie produktów, pojedyncze strony produktów itp.)
- Tworzymy kopię pliku page.php i zmieniamy jej nazwę na woocommerce.php
Plik ten powinien znaleźć się: wp-content/themes/YOURTHEME-CHILD/woocommerce.phpWażne jest utworzenie motywu potomnego, ponieważ podczas aktualizacji stare pliki motywów są usuwane, a wgrywane nowe. - Otwieramy nowo utworzony plik woocommerce.php i w miejsce pętli, która rozpoczyna się zwykle<? php if (have_posts ()): i kończy <?php endif; ?>
wstawiamy <?php woocommerce_content(); ?>
Użycie hooków
Ta metoda jest bardziej elastyczna.
Podobnie dodawany jest WoCommerce do motywów WooThemes.
Metoda polega na dodaniu kilku linii kodu w pliku functions.php motywu. Pamiętajmy, żeby był to motyw potomny.
remove_action ('woocommerce_before_main_content", "woocommerce_output_content_wrapper', 10);
remove_action ('woocommerce_after_main_content "," woocommerce_output_content_wrapper_end', 10);
Deklaracja wsparcia
Jeśli jesteś zadowolony z integracji WooCommerce z wybranym motywem WordPressa, to pozostaje jeszcze zadeklarować wsparcie dla WooCmmerce w w pliku functions.php motywu:
add_action('after_setup_theme', 'woocommerce_support');
function woocommerce_support() {
add_theme_support('woocommerce');
}
Jeśli obie metody zawiodą, pozostaje wybrać któryś z motywów, które deklarują współpracę z WooCommerce.