Cómo obtener la categoría de producto actual de WooCommerce

Publicado: 2021-05-25

WooCommerce Obtener categoría de producto actual En esta publicación, comparto con usted el fragmento de código de categoría de producto actual de WooCommerce y explico cómo puede usar este código para obtener la categoría de producto actual.

Si es un desarrollador de WooCommerce o simplemente está personalizando WooCommerce como usuario habitual, la capacidad de obtener la categoría de producto actual de la base de datos de WooCommerce puede ayudarlo a crear una variedad de opciones de visualización para sus productos.

También puede obtener la categoría de producto actual cuando desee crear funciones específicas de experiencia del cliente de WooCommerce, como la redirección de WooCommerce después del pago en función de la categoría actual .

Demostré esto en el tutorial anterior sobre cómo obtener el nombre de categoría de producto actual de WooCommerce.

WooCommerce Obtener categoría de producto actual

En primer lugar, supongo que conoce bien el desarrollo de WooCommerce y solo está buscando un fragmento de código rápido para obtener la categoría de producto actual.

Si es un principiante completo, es posible que desee consultar la mayoría de las más de 1000 publicaciones que he compartido antes sobre el desarrollo de WooCommerce aquí: tutoriales de WooCommerce.

Ahora centrémonos en los conceptos básicos para obtener la categoría actual de productos de WooCommerce. Primero, debe comprender que los productos de WooCommerce son solo tipos de publicaciones personalizadas , desde una perspectiva de desarrollo de WordPress.

Por lo tanto, puede consultarlos y las categorías de productos de la misma manera que generamos consultas para las publicaciones ordinarias de WordPress.

Los productos de WooCommerce son tipos de publicaciones personalizadas con categorías como una de sus taxonomías.

Dado que ahora entendemos cómo funcionan las categorías de WooCommerce bajo el capó, usaremos la función principal de WordPress get_the_terms() para obtener la categoría de producto de WooCommerce actual de la base de datos.

Pero primero, ¡echemos un vistazo rápido a cómo funciona la función de WordPress get_the_terms()!

Función de WordPress para obtener la categoría actual: get_the_terms ()

Esta función está diseñada para obtener simplemente los términos de una taxonomía que queremos y para obtener lo que queremos necesitamos darle un parámetro a esta función.

La forma de obtener lo que queremos de esta función es darle el ID de la publicación de la que queremos las categorías.

Entonces, en un resumen rápido, esta función toma dos parámetros, la ID o el objeto y el nombre de la taxonomía.

Antes de que nos perdamos, permítanme compartir una tabla de resumen rápida seguida de un ejemplo simple para ayudarlo a comprender cómo funciona esta función.

Parámetro Descripción
$publicar Esto es necesario para que esta función funcione y es simplemente el ID de la publicación o el objeto para el que queremos obtener los datos; en este caso, sería el ID de la publicación actual, ya que queremos obtener la categoría PRODUCTO ACTUAL de WooCommerce.
$taxonomía Esto también es necesario para que esta función funcione y es el nombre de la taxonomía.

WooCommerce Obtener categoría de producto actual

WooCommerce Obtener categoría de producto actual Supongamos que ahora queremos obtener la categoría de producto actual como puede ver en la imagen de arriba; tenemos eso para el ejemplo.

Entonces podemos obtener la ID del producto actual usando el objeto de publicación global de WordPress $post. Esto devolverá la identificación junto con los otros datos de la publicación.

$post (WP_Post) El objeto de publicación para la publicación actual. Objeto descrito en Class Reference/Wp_posts.

Una vez que tengamos la ID, ahora podemos pasar la ID a la función get_the_terms() junto con la taxonomía y obtendremos con éxito la categoría de producto actual.

La taxonomía para la categoría de productos de WooCommerce es: product_cat, por lo que ahora podemos pasar el ID del producto actual junto con product_cat para obtener todas las categorías asociadas con el producto actual. Así que podemos hacer esto con este código:


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 Obtenga la categoría de producto actual paso a paso (3 pasos principales)

Estos son los pasos que hemos seguido para obtener la categoría de producto actual en WooCommerce:

  1. Primero obtenga la identificación del producto actual
  2. Pase el ID del producto junto con la taxonomía product_cat a la función get_the_terms() como los dos parámetros.
  3. El paso 2 devuelve una matriz con todos los detalles. Usamos el bucle foreach para recorrer los datos y obtener el nombre de la categoría o cualquier otro detalle que queramos de la categoría de producto actual.

Ahora puede continuar e imprimir o usar la categoría en cualquier otra lógica, como señalé en el ejemplo de redirección de WooCommerce después del pago basado en la categoría .

He agregado este código a un gancho en el encabezado de mi sitio de ejemplo y puede ver en la imagen a continuación que la categoría se muestra correctamente: WooCommerce Obtener categoría de producto actual

El fragmento de código completo que agregué al tema Storefront personalizado para mostrar la categoría en el encabezado de WordPress como se muestra en la imagen de arriba es el siguiente:


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;

}

Conclusión

En esta publicación, hemos resaltado la forma paso a paso de obtener la categoría actual del producto WooCommerce. Como ha visto en el ejemplo anterior, simplemente necesita conocer la ID del producto actual y puede usar la función predeterminada de WordPress para obtener los términos y recorrer para objetar la categoría actual de WooCommerce.

Artículos similares