Upload
e-wsparcie-barbara-muszko
View
253
Download
0
Embed Size (px)
Citation preview
resentation
Gdzie pojawiają się problemy?Większość motywów WordPress jest zintegrowanaz wtyczką WooCommerce. Czasem jednak domyślna zawartość WooCommercenie pasuje do wybranego motywu.
Problem pojawia się na stronie sklepu, pojedynczegoproduktu lub taksonomii (kategorii, tagów).
Inne strony (koszyk, konto, kasa) używają szablonupage.php wybranego motywu, więc problemów nie ma.
resentation
Komunikat o problemiePo włączeniu w panelu administracyjnym WordPressawybranego motywu, który nie jest zintegrowanyz WooCommercem, pojawia się komunikat:
resentation
Dwa sposoby integracji
Istnieją 2 sposoby, aby rozwiązać pojawiający się problem:
Użycie funkcji woocommerce_content() w motywieKorzystanie z hooków (dla zaawansowanychużytkowników i programistów).
resentation
Korzystanie z woocommerce_content()
To rozwiązanie pozwala na dodanie do motywunowego szablonu strony dla treści związanych ze sklepem.
Wadą tego rozwiązania jest to, że mamy jeden szablondla wszystkich taksonomii i typów wpisów (kategorieproduktów, pojedyncze strony produktów itp.)
resentation
Kopia szablonu strony
1) Tworzymy kopię pliku page.php i zmieniamy jej nazwęna woocommerce.phpPlik ten powinien znaleźć się: wp-content/themes/YOURTHEME-CHILD/woocommerce.php
Ważne jest utworzenie motywu potomnego,ponieważ podczas aktualizacji stare pliki motywówsą usuwane, a wgrywane nowe.
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(); ?>
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.
resentation
Wykorzystanie hookówTa metoda jest bardziej elastyczna.Podobnie dodawany jest WoCommerce do motywówWooThemes.Metoda polega na dodaniu kilku linii kodu w plikufunctions.php motywu. Pamiętajmy, żeby był to motywpotomny.
remove_action ('woocommerce_before_main_content',
'woocommerce_output_content_wrapper', 10),
remove_action ('woocommerce_after_main_content',
'woocommerce_output_content_wrapper_end', 10);
resentation
Uwaga
Możliwe jest dokładniejsze określenie miejsca, w którym mapojawić 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>';
}
resentation
Deklaracja wsparcia dla WooCommerce
Jeżeli jesteś zadowolony z integracji, zadeklarujw pliku functions.php motywu wsparciedla WooCommerce:
add_action( 'after_setup_theme', 'woocommerce_support' );
function woocommerce_support() {
add_theme_support( 'woocommerce' );
}
Problem nadal istnieje
Jeśli wszystkie metody zawiodą, pozostaje wybraćktóryś z motywów, które deklarują współpracęz WooCommerce.
Barbara Muszko
Pasjonatka WordPressa.Od 2008 r. tworzę strony i sklepy internetowez wykorzystaniem tego systemu zarządzania treścią.