blog webempresa

Configurar envíos por categoría en WooCommerce

por | Ago 24, 2022 | WooCommerce

Configurar envíos por categoría en WooCommerce

En ocasiones nos encontramos en la necesidad de implementar diferentes sistemas de envíos en nuestro WooCommerce, ya sea porque nuestro sitio vende ciertos productos que cuesten más que otros o porque sean algunos de importación y otros no. En cualquier caso, tenemos la posibilidad de realizar este tipo de ajuste mediante un complemento que en su versión gratuita nos brinda la posibilidad que la mayoría no lo hacen sino en versiones de pago.

Plugin Flat Rate Shipping para WooCommerce

Flat Rate Shipping Plugin For WooCommerce

Este complemento nos ofrece lo que buscamos en nuestras instalaciones, además de otras características que podrían interesarnos como sería el configurar métodos de envío de tarifa plana basados ​​en productos. Para ello primero procedemos a agregar un nuevo método, y para ello.

Agregar un nuevo método de envío

Para agregar un nuevo método, hacemos clic en “Agregar nuevo método de envío” en el panel que estará ubicado en nuestro escritorio, en la parte lateral izquierda, en el menú de DotStore Plugins

Se abrirá una ventana de configuración del método de envío. Esta ventana nos permitirá realizar varias tareas, como configurar el nombre del método de envío, los gastos de envío, etc. También nos puede proporcionar una descripción de la información sobre herramientas del método que estemos creando, para brindar una mejor comprensión de lo que hace este método.

La ventana de configuración del método de envío se verá así:

Los valores que necesitamos conocer de esta primera sección más allá de las reglas de envío para el método, es el poder asignar el costo que vamos a utilizar, directamente el complemento nos muestra una tabla general donde nos muestra unos ejemplos si queremos trabajar con porcentajes o según la cantidad de productos agregados; sin embargo, si no queremos complicarnos tantos y conocemos cuanto es el monto fijo para nuestro envío de este producto especial, podemos simplemente escribir el monto y funcionaria perfectamente.

Agregar una regla de envío

Luego de que tenemos asignado nuestro precio solo quedaría lo más importante, que es el poder ingresar con cuál categoría es que funcionara este nuevo método para que calcule un porcentaje adicional a nuestra compra por el producto, para ello teniendo en cuenta la configuración general, vamos al final del todo donde tenemos el botón de agregar una nueva regla de envío.

Por defecto nos agregará una que nos muestra país como único dato; sin embargo, esto podemos cambiarlo de entre los que nos permite la versión gratuita.

En esta sección seleccionamos la de Cart contains category product, esta opción nos permite asignarle la regla de que se cobre el adicional que le asignamos, si el producto tiene la categoría especifica que le indiquemos, al final de seleccionarla deberíamos tener algo como esto:

Al final de todos los ajustes tendremos un selector del envío para este accesorio:

Es posible que necesitemos algo adicional y que no sea el poder seleccionar el método de envío con el cargo adicional por ser un accesorio (nuestra categoría) sino que necesitemos que adicional a esto se agregue automáticamente a nuestro monto final el precio sin una opción a elegir para ello vamos a ver otro método.

Agregar monto por categoría por medio de código personalizado

Por último tenemos la opción de agregar sin más un extra a nuestro total, con este monto de categoría, para ello podemos agregar a nuestro archivo functions.php ubicado en:

Panel > Administrador de archivos > Public_html > Dominio > wp-content > Themes > tema utilizado > archivo functions.php

Al final del todo podemos agregar nuestro código:

add_action( 'woocommerce_cart_calculate_fees','custom_pcat_fee', 20, 1 );
function custom_pcat_fee( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;

// agregar las categorias (se puede utilizar ID, slugs o nombres)separados por comas
$categories = array('31');
$fee_amount = 0;

// solicitud para el carrito
foreach( $cart->get_cart() as $cart_item ){
if( has_term( $categories, 'product_cat', $cart_item['product_id']) )
$fee_amount = 60;
}

// agregar el extra
if ( $fee_amount > 0 ){
// Last argument is related to enable tax (true or false)
WC()->cart->add_fee( __( "Extra por categoria", "woocommerce" ), $fee_amount, false );
}
}

Con este código tendremos agregado a nuestro carrito un importe por la categoría que asignemos, para asignar esta categoría tenemos que ingresar el ID, el slug o el nombre de la categoría. Al culminar tendremos esto.

¿Te ha resultado útil este artículo?

Promo abril