Jak uzyskać aktualną kategorię produktów WooCommerce?

Opublikowany: 2021-05-25

WooCommerce Uzyskaj aktualną kategorię produktów W tym poście dzielę się z Tobą WooCommerce pobierz fragment kodu aktualnej kategorii produktów i wyjaśnij, jak możesz użyć tego kodu, aby uzyskać aktualną kategorię produktów.

Jeśli jesteś programistą WooCommerce lub po prostu dostosowujesz WooCommerce jako zwykły użytkownik, możliwość uzyskania aktualnej kategorii produktów z bazy danych WooCommerce może pomóc w tworzeniu różnych opcji wyświetlania Twoich produktów.

Możesz również uzyskać aktualną kategorię produktów, jeśli chcesz utworzyć określone funkcje obsługi klienta WooCommerce, takie jak przekierowanie WooCommerce po kasie na podstawie bieżącej kategorii .

Zademonstrowałem to w poprzednim samouczku, jak uzyskać aktualną nazwę kategorii produktów WooCommerce.

WooCommerce Uzyskaj aktualną kategorię produktów

Po pierwsze, zakładam, że znasz się na rozwoju WooCommerce i szukasz tylko szybkiego fragmentu kodu, aby uzyskać aktualną kategorię produktów.

Jeśli jesteś kompletnym początkującym, możesz sprawdzić większość z ponad 1000 postów, które wcześniej udostępniłem na temat rozwoju WooCommerce tutaj – samouczki WooCommerce.

Teraz skupmy się na podstawach uzyskania aktualnej kategorii produktów WooCommerce. Najpierw musisz zrozumieć, że produkty WooCommerce to tylko niestandardowe typy postów – z perspektywy programowania WordPress.

Możesz więc wyszukiwać je i kategorie produktów w ten sam sposób, w jaki budujemy zapytania dla zwykłych postów WordPress.

Produkty WooCommerce to niestandardowe typy postów z kategoriami jako jedną z ich taksonomii.

Ponieważ teraz rozumiemy, jak działają kategorie WooCommerce pod maską, użyjemy podstawowej funkcji WordPress get_the_terms(), aby pobrać aktualną kategorię produktów WooCommerce z bazy danych.

Ale najpierw przejrzyjmy, jak działa funkcja WordPress get_the_terms()!

Funkcja WordPress do pobrania aktualnej kategorii – get_the_terms ()

Ta funkcja jest zaprojektowana tak, aby po prostu uzyskać nam warunki taksonomii, którą chcemy, a aby uzyskać to, czego chcemy, musimy nadać tej funkcji parametr.

Sposobem na uzyskanie tego, czego chcemy od tej funkcji, jest nadanie jej identyfikatora postu, z którego chcemy uzyskać kategorie.

Tak więc w krótkim podsumowaniu ta funkcja przyjmuje dwa parametry: identyfikator lub obiekt i nazwę taksonomii.

Zanim się zgubimy, pozwól, że przedstawię krótką tabelę podsumowującą, a następnie prosty przykład, który pomoże ci zrozumieć, jak działa ta funkcja!

Parametr Opis
$post Jest to wymagane do działania tej funkcji i jest to po prostu identyfikator wpisu lub obiektu, dla którego chcemy uzyskać dane – w tym przypadku byłby to identyfikator aktualnego wpisu, ponieważ chcemy uzyskać kategorię WooCommerce BIEŻĄCY PRODUKT
$taksonomia Jest to również wymagane do działania tej funkcji i jest to nazwa taksonomii

WooCommerce Uzyskaj aktualną kategorię produktów

WooCommerce Uzyskaj aktualną kategorię produktów Załóżmy, że teraz chcemy uzyskać aktualną kategorię produktów, jak widać na powyższym obrazku; mamy to na przykład.

Możemy więc uzyskać bieżący identyfikator produktu za pomocą globalnego obiektu post WordPress $post. Spowoduje to zwrócenie identyfikatora wraz z innymi danymi pocztowymi

$post (WP_Post) Obiekt postu dla bieżącego posta. Obiekt opisany w Class Reference/Wp_posts.

Gdy już mamy identyfikator, możemy teraz przekazać identyfikator do funkcji get_the_terms() wraz z taksonomią i pomyślnie otrzymamy aktualną kategorię produktu.

Taksonomia dla kategorii produktów WooCommerce to – product_cat, więc możemy teraz przekazać bieżący identyfikator produktu wraz z product_cat, aby uzyskać wszystkie kategorie powiązane z bieżącym produktem. Możemy to zrobić za pomocą tego kodu:


global $post;

$terms = get_the_terms( $post->ID, 'product_cat' );

$nterms = get_the_terms( $post->ID, 'product_tag'  );

foreach ($terms  as $term  ) {

$product_cat_id = $term->term_id;

$product_cat_name = $term->name;

break;

}

WooCommerce Uzyskaj aktualną kategorię produktów krok po kroku (3 główne kroki)

Oto kroki, które podjęliśmy, aby uzyskać aktualną kategorię produktów w WooCommerce:

  1. Najpierw uzyskaj aktualny identyfikator produktu
  2. Przekaż identyfikator produktu wraz z taksonomią product_cat do funkcji get_the_terms () jako dwóch parametrów.
  3. Krok 2 zwraca tablicę ze wszystkimi szczegółami. Używamy pętli foreach, aby przeglądać dane i uzyskać nazwę kategorii lub dowolny inny szczegół bieżącej kategorii produktów.

Możesz teraz śmiało wydrukować lub użyć kategorii w dowolnej innej logice, jak wskazałem przykładowe przekierowanie WooCommerce po kasie na podstawie kategorii .

Dodałem ten kod do haka na nagłówku mojej przykładowej witryny i na poniższym obrazku widać, że kategoria jest wyświetlana pomyślnie: WooCommerce Uzyskaj aktualną kategorię produktów

Pełny fragment kodu, który dodałem do dostosowanego motywu Storefront, aby wyświetlić kategorię w nagłówku WordPress, jak pokazano na powyższym obrazku, wygląda następująco:


add_action('wp_head', 'get_current_product_category');

function get_current_product_category(){

global $post;

$terms = get_the_terms( $post->ID, 'product_cat' );

$nterms = get_the_terms( $post->ID, 'product_tag'  );

foreach ($terms  as $term  ) {

$product_cat_id = $term->term_id;

$product_cat_name = $term->name;

break;

}

echo $product_cat_name;

}

Wniosek

W tym poście podkreśliliśmy krok po kroku, jak uzyskać aktualną kategorię produktów WooCommerce. Jak widać w powyższym przykładzie, wystarczy znać bieżący identyfikator produktu i można użyć domyślnej funkcji WordPress, aby uzyskać warunki i przejść przez pętlę, aby sprzeciwić się bieżącej kategorii WooCommerce.

Podobne artykuły