Większość motywów WordPress jest zintegrowana z wtyczką WooCommerce. Czasem jednak domyślna zawartość WooCommerce nie pasuje do wybranego motywu, układ strony zostaje zburzony.
Co zrobić, aby nadal móc używać wybranego motywu WordPressa?
2. resentation
Gdzie pojawiają się problemy?
Większość motywów WordPress jest zintegrowana
z wtyczką WooCommerce.
Czasem jednak domyślna zawartość WooCommerce
nie pasuje do wybranego motywu.
Problem pojawia się na stronie sklepu, pojedynczego
produktu lub taksonomii (kategorii, tagów).
Inne strony (koszyk, konto, kasa) używają szablonu
page.php wybranego motywu, więc problemów nie ma.
3. resentation
Komunikat o problemie
Po włączeniu w panelu administracyjnym WordPressa
wybranego motywu, który nie jest zintegrowany
z WooCommercem, pojawia się komunikat:
4. resentation
Dwa 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).
5. resentation
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.)
6. resentation
Kopia szablonu strony
1) Tworzymy kopię pliku page.php i zmieniamy jej nazwę
na woocommerce.php
Plik ten powinien znaleźć się:
wp-content/themes/YOURTHEME-CHILD/woocommerce.php
Ważne jest utworzenie motywu potomnego,
ponieważ podczas aktualizacji stare pliki motywów
są usuwane, a wgrywane nowe.
7. resentation
Wymiana pętli
2) Otwieramy nowo utworzony plik woocommerce.php
i w miejsce pętli, która rozpoczyna się zwykle
<? php if (have_posts ()):
i zazwyczaj kończy <?php endif; ?>
wstawiamy <?php woocommerce_content(); ?>
9. resentation
Uwaga
Utworzony w folderze motywu woocommerce.php
nie będzie w stanie zastąpić
woocommerce/archive-product.php własnego szablonu.
Ma to zapobiec problemom z wyświetlaniem.
10. resentation
Wykorzystanie 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);
11. resentation
Uwaga
Możliwe jest dokładniejsze określenie miejsca, w którym ma
pojawić się domyślna zawartość WooCommerce'a.
add_action('woocommerce_before_main_content',
'my_theme_wrapper_start', 10);
add_action('woocommerce_after_main_content',
'my_theme_wrapper_end', 10);
function my_theme_wrapper_start() {
echo '<section id="main">';
}
function my_theme_wrapper_end() {
echo '</section>';
}
12. resentation
Deklaracja wsparcia dla WooCommerce
Jeżeli jesteś zadowolony z integracji, zadeklaruj
w pliku functions.php motywu wsparcie
dla WooCommerce:
add_action( 'after_setup_theme', 'woocommerce_support' );
function woocommerce_support() {
add_theme_support( 'woocommerce' );
}
13. Problem nadal istnieje
Jeśli wszystkie metody zawiodą, pozostaje wybrać
któryś z motywów, które deklarują współpracę
z WooCommerce.
15. Barbara Muszko
Pasjonatka WordPressa.
Od 2008 r. tworzę strony i sklepy internetowe
z wykorzystaniem tego systemu zarządzania treścią.
www.e-wsparcie.com.pl
e-wsparcie@e-wsparcie.com.pl