Reklama sponsora

woocommerce – kolejność produktów



Własna kolejność produktów woocommerce?

Dzisiaj piszę pewną stronę gdzie w moim szablonie na stronie głównej mam za zadanie wyświetlić produkty w pewnej określonej kolejności. Zastanawiając się jak najprościej zrobić kolejność produktów żeby się za wiele nie narobić znalazłem pewne rozwiązanie.

Ustawienia w panelu

Jeśli chodzi o kolejność produktów jest kilka ustawień w panelu administratora (w kokpicie). Na początek warto sprawdzić jak jest ustawione domyślne sortowanie produktów, aby to zrobić wchodzimy do kokpitu, woocommerce, ustawienia, produkty, wyświetlanie produktów.

Woocommerce ustawienia wyświetlania produktów

Woocommerce ustawienia wyświetlania produktów

Po przejściu do konfiguracji wyświetlania produktów powinien się ukazać ekran podobny jak poniżej.

Ustawienie sortowania produktów

Ustawienie sortowania produktów

Aby dojść do tego miejsca należy wybrać Katalog produktów. Tutaj mamy kilka ustawień dla domyślnych plików szablonu woocommerce. Jeśli nie piszemy własnego szablonu to jest to połowa drogi do ustawienia własnej kolejności produktów. Jak widać na powyższym obrazku możemy tutaj ustawić kolejność produktów według popularności sprzedaży, średniej oceny, daty dodania czy ceny. Domyślne sortowanie ustawia produkty w kolejności alfabetycznej kiedy nie ustawimy kolejności w panelu.

Następnym krokiem jest przejście do widoku produktu w kokpicie. Aby dotrzeć do tego miejsca należy wybrać Produkty, wejść w konkretny produkt i tam pod opisem w panelu danych produktu jest zakładka zaawansowane.

kolejność produktów woocommerce

kolejność produktów woocommerce

W tej zakładce jest pole kolejność w menu. Ustawienie w każdym produkcie wartości powinno załatwić sprawę wyświetlania produktów w odpowiedniej kolejności w sklepie.

Jak zakodować kolejność produktów?

W moim przypadku to jeszcze nie koniec. Lubię jak najwięcej kodować po swojemu co daje mi nieograniczone możliwości manipulacji w stosunkowo prosty sposób. Chcę maksymalnie spersonalizować wyświetlanie produktów na stronie głównej, wykorzystałem już do tego wtyczkę „Zaawansowane własne pola” i pozostała tylko kolejność.

Aby pobrać produkty w określonej kolejności tworzę zapytanie tak jak w poniższym przykładzie


$args = array(
'post_type' => array( 'product' ),
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => -1
);

$loop = new WP_Query( $args );

Jako argumenty ustalam tutaj że chcę pobrać produkty, sortowane po polu kolejność menu, w kolejności rosnącej, maksymalna ilość pobranych produktów na stronę nieograniczona (ponieważ na mojej stronie ma być tylko cztery produkty ewentualnie kiedyś zostanie dodany kolejny).

Teraz pozostaje tylko wyświetlić produkty w odpowiedniej kolejności. Do tego celu wykorzystujemy pętlę po elementach.


while ( $loop->have_posts() ) : $loop->the_post();
global $product;
global $post;

echo $post->post_title;

endwhile;
wp_reset_query();

Powyższy kod pozwala na przejście po pobranych postach, umożliwia odniesienie się do każdego z obiektów i na koniec resetuje.

Teraz można zakodować dowolne szablony produktów posiłkując się danymi pobranymi z obiektu $post.

Zapraszam do kolejnego artykułu o atrybutach i wariantach.

 

 

 


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *