Descargas ilimitadas y Licencias Originales

Suscríbete o Inicia Sesión y descarga todos los recursos que quieras sin coste adicional. Todos los Plugins y Themes de WordPress en un clic. Además podrás acceder a Licencias Originales y API Keys.

Muestra ciertas pasarelas de pago según los productos en el carrito

Esta funcionalidad resulta útil cuando deseas restringir los métodos de pago disponibles solo para ciertos productos específicos en el carrito.

Por ejemplo, si tienes productos con un margen de beneficio reducido, esta función te permite evitar que los clientes utilicen métodos de pago con altas comisiones, como Paypal, para proteger tu margen.

Para configurar qué productos deben aplicarse y qué pasarelas mostrar en esos casos, sigue estos pasos:

  1. En la línea de código 6, reemplaza los números con los IDs de los productos que te interesen.
  2. En la línea de código 9, sustituye los IDs de las pasarelas que se han utilizado como ejemplo con los IDs de los métodos de pago que deseas mostrar.
// Muestra pasarelas de pago específicas según los productos que haya en el carrito
add_filter( 'woocommerce_available_payment_gateways', 'enable_gateways_for_specific_products', 1, 1 );
function enable_gateways_for_specific_products( $methods ){

  	// Listado de productos 
    $list_of_products = array( '99', '96' );

    // Listado de pasarelas a mostrar
    $gateways_list = array( 'bacs', 'cod' );

    foreach ( WC()->cart->cart_contents as $key => $product ) {

        if ( in_array( $product[ 'product_id' ], $list_of_products ) && !empty( $gateways_list ) ) {

            foreach ( $gateways_list as $gateway ) {
                
                if ( isset( $methods[ $gateway ] ) ) {
                    $new_methods[ $gateway ] = $methods[ $gateway ];
                }
            }

            $methods = array();
            $methods = $new_methods;

            break;
        }
    }

    return $methods;
}

 

Productos destacados