Cómo agregar atributos de productos de WooCommerce con variaciones: 2 métodos

Publicado: 2021-05-25

¿Quieres crear atributos de producto con diferentes variaciones? Has venido al lugar correcto. En esta guía, le mostraremos cómo agregar atributos de productos de WooCommerce con variaciones .

¿Qué son los atributos de WooCommerce?

En WooCommerce, puede agregar información a sus productos a través de atributos . Estos atributos dependen del producto. Por ejemplo, los atributos comunes para las prendas de vestir son el tamaño y el color, mientras que para una computadora portátil pueden ser el tamaño de la pantalla, la memoria RAM y la capacidad de almacenamiento.

Lo interesante de los atributos es que son globales. En lugar de aplicarlos a cada producto, simplemente los crea y los agrega a diferentes productos.

Los atributos son esenciales para:

  • Productos variables : antes de crear productos variables, debe definir atributos para ellos. Esto le permite agregar variaciones del producto.
  • Filtrado de productos : una forma común de filtrado se basa en atributos. Por ejemplo, un usuario puede estar buscando una computadora portátil con pantalla de 15 pulgadas.

Además, también puede crear atributos de producto predeterminados. Para obtener más información al respecto, consulte esta guía completa.

Ahora que comprendemos mejor los atributos, veamos cómo agregar atributos de productos con variaciones en WooCommerce.

Cómo agregar atributos de productos de WooCommerce con variaciones

Hay dos formas principales de agregar atributos de productos con variaciones en WooCommerce:

  1. Desde el panel de control de WooCommerce
  2. Programáticamente

Echemos un vistazo a ambas opciones.

1) Cree atributos de productos con variaciones desde el tablero de WooCommerce

La forma más fácil de agregar un atributo en WooCommerce es desde la sección Atributos . Para hacer eso, en su tablero, vaya a Productos > Atributos. Allí tendrás que elegir un nombre y un slug y hacer clic en el botón “ Agregar atributo ” para crear un nuevo atributo de producto.

Cómo agregar atributos de productos de WooCommerce con variaciones

Como se mencionó anteriormente, los atributos son globales, por lo que el nuevo atributo estará disponible para todos los productos de su tienda.

Después de agregar el atributo del producto, debe agregar algunos términos que se convertirán en variaciones de ciertos productos.

Por ejemplo, si el atributo es el tamaño de la pantalla, los diferentes tamaños (13 pulgadas, 15 pulgadas, 17 pulgadas) serán los términos.

De esta manera, puedes combinar los diferentes atributos de cada producto y crear diferentes variaciones. Por ejemplo, puede obtener una computadora portátil roja de 13 pulgadas, una computadora portátil azul de 15 pulgadas, etc.

Como puede ver, agregar atributos y variaciones desde el tablero de WooCommerce es bastante fácil. Sin embargo, puede llevar mucho tiempo si necesita crear muchas variaciones. Para crear atributos con variaciones a granel y administrar una gran cantidad de atributos, puede usar un poco de codificación.

Echemos un vistazo a cómo agregar atributos de productos con variaciones en WooCommerce mediante programación .

2. Cómo crear atributos de productos con variaciones programáticamente

Si tiene habilidades de codificación, puede agregar atributos de productos y sus variaciones mediante programación. Esta es una excelente opción si desea ahorrar tiempo al crear atributos, ya que puede agregarlos de forma masiva.

NOTA : Como editaremos algunos archivos principales, antes de comenzar, le recomendamos:

  • Cree una copia de seguridad completa de su sitio, para que pueda restaurarlo si algo sale mal
  • Cree un tema secundario : puede instalar cualquiera de estos complementos o consultar esta guía para crear uno. De esta manera, no perderá sus personalizaciones cuando actualice su tema a una nueva versión.

Tenga en cuenta que debe insertar su código personalizado en el archivo functions.php de su tema secundario.

Después de hacer una copia de seguridad de su sitio y crear su tema secundario, en su panel de control de WordPress, vaya a Apariencia > Personalizar y busque el archivo functions.php en la columna de la derecha. Luego, pegue el siguiente código al final del archivo.

Guión PHP completo

Este es el guión completo, en la siguiente sección, lo dividiremos en partes y explicaremos qué hace cada parte.

 add_action('admin_init', 'QuadLayers_add_product_attributes');

función QuadLayers_add_product_attributes(){
    $atributos=matriz(
        'tamaño'=>matriz('XL','Pequeño'),
        'color'=>array('marrón','gris','amarillo'),   
    ); 
    foreach ($atributos como $clave => $valores) { 
       nuevo add_attribute($clave,$valores); 
    }
}

clase agregar_atributo{   
     /*
     * Registre una clase de atributo de producto de woocommerce global.
     *
     * @param str $nombre | nombre del atributo
     * @param arr $valores | variedad de variaciones
     * 
     */
    función pública __construct($nam,$vals){

                $atributos = matriz();      
                $atributos = wc_get_attribute_taxonomias();                          
                    foreach ($atributos como $clave => $valor) {
                        array_push($atributos,$atributos[$clave]->nombre_atributo);                    
                    }              
               if ( ! in_array( $nombre, $atributos ) ) {            
                    $argumentos = matriz(
                        'id' => '',
                        'babosa' => $nam,
                        'nombre' => __( $nombre, 'woocommerce' ),
                        'escribir' => 'seleccionar',
                        'pedir por' => 'pedir_menú',
                        'has_archives' => falso,
                        'límite' => 1,
                        'es_en_stock' => 1
                    );                    
                   devuelve wc_create_attribute ($ argumentos); 
                }               
               $this->add_var($nam,$vals);
    }

    función pública add_var($nam,$vals){  
        $taxonomía = 'pa_'.$nam;      
        $term_slug = sanitize_title($nam); 
        // Comprobar si el término existe y, si no, crearlo (y obtener el ID del término).
        para ($ff=0; $ff term_id;
            }
        }
    }
}

Vale la pena señalar que este script no eliminará ningún atributo existente, solo agregará nuevos. Y si los atributos que intenta agregar ya están allí, el script no hará nada.

Además, tenga en cuenta que para este ejemplo, estamos agregando algunos atributos y términos. Debe editar la siguiente matriz y crear sus propios atributos.

 función QuadLayers_add_product_attributes(){
    $atributos=matriz(
        'nuevo-atributo'=>array('aparte','al lado','largo','ninguno','corto'),        
    ); 

Después de eso, dirígete a Productos > Atributos en tu panel de administración. Si todo salió bien, verá los atributos y términos que acaba de agregar con el script PHP.

Variaciones de atributos del producto

Si no puede ver las variaciones, simplemente vuelva a cargar la página para que puedan completarse.

Además de eso, los atributos también estarán disponibles para configurar variaciones de productos en la página del editor de productos:

los atributos ahora también estarán disponibles para establecer variaciones de productos,

¡Y eso es! Ahora puede simplemente editar el script PHP y agregar sus propios atributos y variaciones del producto WooCommerce. Incluso puede actualizarlo dinámicamente aplicando lógica condicional.

¿Cómo funciona el guión?

Hasta ahora, le hemos mostrado un script para agregar atributos de productos de WooCommerce con variaciones a su tienda. Ahora vamos a desglosarlo, para que pueda comprender mejor cómo funciona y personalizarlo.

Las secciones principales del guión son:

El gancho
 add_action('admin_init', 'QuadLayers_add_product_attributes');

función QuadLayers_add_product_attributes(){
    $atributos=matriz(
        'tamaño'=>matriz('XL','Pequeño'),
        'color'=>array('marrón','gris','amarillo'),   
    ); 
    foreach ($atributos como $clave => $valores) { 
       nuevo add_attribute($clave,$valores); 
    }
}

Usamos el gancho admin_init() para iniciar el código. Puede usar varios otros ganchos aquí, pero en nuestro caso, nos gustó el rendimiento del script usando este.

En la función enganchada, definimos nuestros valores de atributos y variaciones en una sola matriz multidimensional. El bucle foreach() creará un atributo para cada uno de los elementos del arreglo principal.

Dentro del ciclo, el atributo es creado por nuestra clase add_attribute(); .

La clase

Hemos creado una clase OOP que es responsable de crear el atributo y agregarle algunas variaciones. Esto se hace en una sola ejecución cada vez que se crea una instancia de la clase, utilizando el new add_attribute() en la sección anterior.

 clase agregar_atributo{   
    función pública __construct($nam,$vals){
                $atributos = matriz();      
                $atributos = wc_get_attribute_taxonomias();                          
                    foreach ($atributos como $clave => $valor) {
                        array_push($atributos,$atributos[$clave]->nombre_atributo);                    
                    }              
               if ( ! in_array( $nombre, $atributos ) ) {            
                    $argumentos = matriz(
                        'id' => '',
                        'babosa' => $nam,
                        'nombre' => __( $nombre, 'woocommerce' ),
                        'escribir' => 'seleccionar',
                        'pedir por' => 'pedir_menú',
                        'has_archives' => falso,
                        'límite' => 1,
                        'es_en_stock' => 1
                    );                    
                   devuelve wc_create_attribute ($ argumentos); 
                }               
               $this->add_var($nam,$vals);
    }

La primera función es una construct() y crea el atributo utilizando la función incorporada de WooCommerce wc_create_attribute() , al mismo tiempo que llama a la segunda función: add_var()

 función pública add_var($nam,$vals){  
        $taxonomía = 'pa_'.$nam;      
        $term_slug = sanitize_title($nam); 
        // Comprobar si el término existe y, si no, crearlo (y obtener el ID del término).
        for ($ff=0; $ff < cuenta($valores) ; $ff++) {
            if( ! term_exists( $vals [ $ff ] , $taxonomy ) ){ $term_data = wp_insert_term($vals [ $ff ] , $taxonomy ); $term_id = $term_data['term_id']; } else { $term_id = get_term_by( 'name', $vals [ $ff ] , $taxonomy )->term_id; } } }

La segunda función add_var() agregará todas las variaciones incluidas en la matriz original para el atributo que también se pasa a través de las funciones.

Conclusión

En resumen, los atributos del producto le permiten crear productos variables y ayudar a los usuarios a filtrar productos según ciertas características.

En esta guía, hemos visto dos formas diferentes de agregar atributos de productos con variaciones en WooCommerce:

  1. Desde el panel de administración
  2. Programáticamente

Crear atributos desde el tablero de WooCommerce es fácil. Sin embargo, puede llevar mucho tiempo si necesita agregar muchos atributos para varios productos.

Alternativamente, si tiene habilidades de codificación, puede crearlos mediante programación. Este es un método más avanzado que le permite agregar atributos de productos de forma masiva. El script que usamos en esta publicación está completamente probado y funciona, así que siéntete libre de tomarlo como base y personalizarlo. Sin embargo, tenga en cuenta que está diseñado para usarse en un solo atributo de carga, no le recomendamos que lo implemente en producción de forma permanente.

Si obtiene un error al intentar ejecutar el script, no se preocupe. Esto suele suceder porque se encuentra en la página de listado de atributos. La forma correcta de actualizar el script es recargando la página de enlace permanente del panel de administración de WordPress.

Para obtener más información sobre cómo agregar correctamente productos WooCommerce tanto mediante programación como desde el panel de administración, consulte esta guía.

¿Ha creado atributos de producto en su tienda? ¿Qué método usaste? ¡Háganos saber en los comentarios a continuación!