Strona produktu – jak zmienić kolejność elementów

Na forum WordPress.org pojawiło się ostatnio pytanie o to jak zmienić kolejność wyświetlania krótkiego opisu produktu. Autor pytania w końcu doszedł do tego, żeby zmienić to w pliku /wp-content/woocommerce/includes/wc-template-hooks.php. Rozwiązanie zadziałało, ale nie jest to dobry pomysł, ponieważ przy aktualizacji WooCommerce ta zmiana zostanie nadpisana. W tym celu zostały stworzone szablony WooCommerce. Szablony możemy przekopiować do katalogu naszego motywu i możemy je edytować bez zagrożenia, że zostaną nadpisane przy aktualizacji WooCommerce.

Za wyświetlanie strony pojedynczego produktu odpowiada szablon content-single-product.php, a w nim możemy znaleźć poniższy kod:

Ten kod odpowiada za wyświetlanie poszczególnych elementów (w kolejności: tytułu, oceny, ceny, krótkiego opisu, przycisku dodaj do koszyka, meta produktu i opcji dzielenia się). Elementy są „wpięte” do akcji (dowiedz się więcej o akcjach) woocommerce_single_product_summary i mają przypisane priorytety pojawiania się.

Przykładowo woocommerce_template_single_title, czyli tytuł produktu jest wpięty z priorytetem 5 a woocommerce_template_single_excerpt, czyli krótki opis z priorytetem 20. W największym skrócie oznacza to, że krótki opis pojawi się pod tytułem (oraz jeszcze oceną i ceną, które też mają wyższy priorytet).

Jeśli chcemy zmienić kolejność elementu to najpierw musimy go „odpiąć” z obecnego miejsca, a następnie „wpiąć” w pożądane miejsce. Robimy to w następujący sposób (kod wklej najlepiej do pliku functions.php w katalogu swojego motywu):

Powyższy kod powoduje, że usuwamy krótki opis z priorytetem 20 i dodajemy z priorytetem 6, czyli pokaże się on zaraz pod tytułem produktu, który ma priorytet 5.

Ekskluzywne porady, triki i trendy bezpośrednio na Twoją skrzynkę odbiorczą. Adres e-mail

[shopmagic_form id="3782" name=false labels=false doubleOptin]

Ekskluzywne porady, triki i trendy bezpośrednio na Twoją skrzynkę odbiorczą. Adres e-mail

[shopmagic_form id="3782" name=false labels=false doubleOptin]