15
LUTY 2016

Jak zintegrować WooCommerce z (prawie) każdym motywem?

Embed Size (px)

Citation preview

Jak zintegrowaćWooCoomercez (prawie) każdym motywem?

LUTY 2016

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

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.

Pytania?

Barbara Muszko

Pasjonatka WordPressa.Od 2008 r. tworzę strony i sklepy internetowez wykorzystaniem tego systemu zarządzania treścią.

[email protected]