現在のWooCommerce製品カテゴリを取得する方法

公開: 2021-05-25

WooCommerce現在の製品カテゴリを取得 この投稿では、WooCommerceが現在の製品カテゴリコードスニペットを取得し、このコードを使用して現在の製品カテゴリを取得する方法を説明します。

WooCommerce開発者である場合、またはWooCommerceを通常のユーザーとしてカスタマイズしている場合は、 WooCommerceデータベースから現在の製品カテゴリを取得する機能により、製品のさまざまな表示オプションを作成できます。

現在のカテゴリに基づいてチェックアウト後にWooCommerceリダイレクトなど、特定のWooCommerceカスタマーエクスペリエンス機能を作成する場合にも、現在の製品カテゴリを取得できます。

これは、WooCommerceの現在の製品カテゴリ名を取得する方法に関する前のチュートリアルで示しました。

WooCommerce現在の製品カテゴリを取得

まず、あなたはWooCommerce開発のやり方を知っていて、現在の製品カテゴリを取得するための簡単なコードスニペットを探していると思います。

完全な初心者の方は、WooCommerceの開発について以前に共有した1000を超える投稿のほとんどをここでチェックすることをお勧めします–WooCommerceチュートリアル。

それでは、現在のWooCommerce製品カテゴリを取得するための基本に焦点を当てましょう。 まず、WordPress開発の観点から、WooCommerce製品は単なるカスタム投稿タイプであることを理解する必要があります。

したがって、通常のWordPress投稿のクエリを作成するのと同じ方法で、それらと製品カテゴリをクエリできます。

WooCommerce製品は、分類法の1つとしてカテゴリを持つカスタム投稿タイプです。

WooCommerceカテゴリが内部でどのように機能するかを理解したので、get_the_terms()WordPressコア関数を使用して、データベースから現在のWooCommerce製品カテゴリを取得します。

しかし、最初に、get_the_terms()WordPress関数がどのように機能するかについて簡単に説明しましょう!

現在のカテゴリを取得するWordPress関数– get_the_terms()

この関数は、必要な分類法の条件を取得し、この関数にパラメーターを指定するために必要なものを取得するように設計されています。

この関数から必要なものを取得する方法は、カテゴリが必要な投稿のIDを関数に与えることです。

したがって、簡単にまとめると、この関数は、IDまたはオブジェクトと分類名の2つのパラメーターを取ります。

迷子になる前に、この関数がどのように機能するかを理解するのに役立つ簡単な例に続いて、簡単な要約表を共有しましょう!

パラメータ説明
$ post これは、この関数が機能するために必要であり、単に投稿IDまたはデータを取得するオブジェクトです。この場合、WooCommerce CURRENT PRODUCTカテゴリを取得するため、現在の投稿のIDになります。
$ taxonomy これは、この関数が機能するためにも必要であり、分類名です。

WooCommerce現在の製品カテゴリを取得

WooCommerce現在の製品カテゴリを取得 上の画像でわかるように、現在の製品カテゴリを取得したいとします。 例としてそれがあります。

したがって、WordPressグローバル投稿オブジェクト$ postを使用して現在の商品IDを取得できます。 これにより、IDが他の投稿データとともに返されます

$ post(WP_Post)現在の投稿の投稿オブジェクト。 クラスリファレンス/ Wp_postsで説明されているオブジェクト。

IDを取得したら、分類法とともにIDを関数get_the_terms()に渡すことができ、現在の製品カテゴリを正常に取得できます。

WooCommerce製品カテゴリの分類法は– product_catであるため、現在の製品IDをproduct_catと一緒に渡して、現在の製品に関連付けられているすべてのカテゴリを取得できます。 したがって、次のコードでこれを行うことができます。


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現在の製品カテゴリをステップバイステップで取得(3つの主要なステップ)

これらは、WooCommerceで現在の製品カテゴリを取得するために行った手順です。

  1. まず、現在の製品IDを取得します
  2. product_cat分類法とともに製品IDをget_the_terms()関数に2つのパラメーターとして渡します。
  3. 手順2は、すべての詳細を含む配列を返します。 foreachループを使用してデータをループし、カテゴリ名または現在の製品カテゴリに必要なその他の詳細を取得します。

これで、カテゴリに基づいたチェックアウト後のWooCommerceリダイレクトの例を指摘したように、他のロジックでカテゴリを印刷または使用できます。

このコードをサンプルサイトのヘッドへのフックに追加しました。下の画像から、カテゴリが正常に表示されていることがわかります。 WooCommerce現在の製品カテゴリを取得

上の画像に示すように、WordPressヘッダーにカテゴリを表示するためにカスタマイズされたStorefrontテーマに追加した完全なコードスニペットは次のとおりです。


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;

}

結論

この投稿では、現在の製品WooCommerceカテゴリを取得するための段階的な方法を強調しました。 上記の例で見たように、現在の製品IDを知っている必要があり、デフォルトのWordPress関数を使用して用語を取得し、ループして現在のWooCommerceカテゴリに異議を唱えることができます。

同様の記事