es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambiar el botón “Añadir al carrito” cuando ACF tiene un valor en el archivo de productos de WooCommerce.

Estoy tratando de cambiar el botón “Agregar al carrito” cuando un producto tiene un valor de ACF (Advanced Custom Fields) en el archivo de producto de WooCommerce. Por ejemplo, si mi campo llamado mix_and_match_enabled está activado, necesito que el botón diga “Ver opciones” y enlace a la página del producto en lugar del botón por defecto “Agregar al carrito”.

Aquí hay un código de muestra de cómo creo que se podría hacer, pero es probable que esté incorrecto.

add_filter('woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2);
function replace_default_button($button, $product){
    $mix_and_match = get_post_meta($post_id, 'mix_and_match_enabled', true);

if ( $mix_and_match ){
    $button = ''<a href="#" class="button alt">' . __( "Ver opciones", "woocommerce" ) . ''</a>';
}
return $button;
}

¡Cualquier ayuda sería apreciada. Gracias!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el botón “Añadir al carrito” cuando un producto tiene un valor ACF en el archivo de productos de WooCommerce, puedes usar el filtro woocommerce_loop_add_to_cart_link en tu archivo functions.php. Aquí tienes un ejemplo de código:

    add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button', 10, 2 );
    function replace_default_button( $button, $product ){
        $mix_and_match = get_field( 'mix_and_match_enabled', $product->get_id() );
        if ( $mix_and_match ){
            $button = '<a href="' . esc_url( $product->get_permalink() ) . '" class="button alt">' . __( 'Ver opciones', 'woocommerce' ) . '</a>';
        }
        return $button;
    }
    

    En este código, utilizamos la función get_field de Advanced Custom Fields para obtener el valor del campo mix_and_match_enabled para cada producto. Si el campo es verdadero, reemplazamos el botón con un enlace a la página del producto y cambiamos el texto por “Ver opciones”. También utilizamos el método get_permalink para obtener la URL del producto.

    Ahora, el botón “Añadir al carrito” será reemplazado por “Ver opciones” cuando el campo ACF esté habilitado para un producto.

Comments are closed.