Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

Quitar botón del carrito en varias categorías  

 
Carlos
 Carlos
Estimable Member

Hola

En su día ya me ayudasteis a quitar el botón de "Añadir al carrito" para una categoría concreta, en este tema:

https://www.webempresa.com/foro/preguntas-sobre-wordpress/no-mostrar-anadir-al-carrito-en-categorias-concretas#post-365173

¿Habría alguna posibilidad de poder aplicarlo a más de una categoría? 

No tengo experiencia con el código y lo que probé me da error. Acabé usando el plugin Code Snippets para insertar el código, al crear el segundo Fragmento con el mismo código pero cambiando el nombre de la categoría me pone este error: "No se puede redeclarar la función western_custom_buy_buttons."

No sé si en el mismo Fragmento, de la primera categoría, puedo hacer algo como un IF anidado, pero aunque entiendo el concepto no sabría escribir el código.

Espero que me podáis ayudar.

Gracias.

Citar
Respondido : 04/09/2020 12:52 am
Bulmaro
 Bulmaro
Soporte CMS Webempresa Moderator

Hola Carlos, 

Prueba con el siguiente código, por favor:

function western_custom_buy_buttons(){

$product = get_product();

if ( has_term( array( 'cat1', 'cat2', 'cat3', 'cat4' ), 'product_cat') ){
// removing the purchase buttons

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );

remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );

remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );

remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );

}

}

add_action( 'wp', 'western_custom_buy_buttons' );
Donde cat1, cat2, cat3, cat4 son los nombres de las categorías.

Saludos.

ResponderCitar
Respondido : 04/09/2020 1:24 am