WooCommerce - Ocultar "Añadir al carrito" en productos gratuitos

8 ago 2013, 11:47:11
Vistas: 16.2K
Votos: 4

Estoy usando WooCommerce y buscando una forma de ocultar el botón "Añadir al carrito" en
la página de un producto SI el producto es gratuito. Estoy haciendo una gran importación CSV y algunos precios de productos están establecidos en cero. Solo quiero ocultar el botón "añadir al carrito" en estos productos, para que no se puedan comprar.

Ya pregunté esto en la página de soporte, pero sin éxito.

Saludos

2
Comentarios

¿Tienes el código de tu archivo single-product.php?

fischi fischi
8 ago 2013 11:54:13

Sí, pero no creo que ayude ya que los cambios en el single-product.php no tienen efecto en este problema. Alguien me dijo que "cree una nueva función enganchada a init que verifique el precio de un producto, si es cero elimine el botón de agregar al carrito usando remove_action()"

Así que sí, no soy bueno programando y no puedo hacer esto por mi cuenta. Espero que esto ayude :)

user36383 user36383
8 ago 2013 12:10:57
Todas las respuestas a la pregunta 2
7

Observa el inicio de las plantillas de "añadir al carrito" en WooCommerce. Al principio hay una verificación para determinar si el producto se puede comprar. Dentro del método is_purchasable() en la clase del producto hay un filtro. Por defecto, el producto no es comprable si no tiene ningún precio establecido, pero eso se puede extender para incluir productos cuyo precio esté establecido en 0.

function wpa_109409_is_purchasable( $purchasable, $product ){
    if( $product->get_price() == 0 )
        $purchasable = false;
    return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );
9 ago 2013 00:06:26
Comentarios

¡Muchas gracias! ¡Esta era exactamente la solución a mi problema!

user36383 user36383
13 ago 2013 10:53:15

@helgatheviking, tus muchas respuestas aquí son invaluables. ¡Sigo encontrándolas una y otra vez! ¡Gracias!

pcarvalho pcarvalho
14 ago 2016 06:37:53

De nada @peteroak, me alegra que te hayan resultado útiles. Paso demasiado tiempo aquí :) (ahora más en SO en la etiqueta de WooCommerce, pero aún así)

helgatheviking helgatheviking
14 ago 2016 23:02:53

¡SÍ! Estaba agregando una cantidad ridícula de condicionales a los archivos de plantilla para verificar un valor propietario y saber si un usuario podía comprar algo. En su lugar, usé este filtro (que por alguna razón pasé por alto por completo) - ¡SOLUCIONADO! Gracias, Kathy.

indextwo indextwo
31 oct 2016 15:46:45

Hola @helgatheviking, ¿es posible agregar una descripción del producto o un mensaje en la página para esos productos específicos cuando están ocultos para el carrito?

Gregory Gregory
15 dic 2020 18:36:20

He encontrado una solución enganchando "woocommerce_single_product_summary" con "$product->is_purchasable()"

Gregory Gregory
15 dic 2020 18:43:57

Por alguna razón, nuestro sitio no mostraba un botón de agregar al carrito para un producto con precio 0.00, así que agregamos este código y ahora está agregando el botón de agregar al carrito a productos que no tienen ningún precio ingresado (preferiríamos que no apareciera el botón en estos casos). ¿Alguna sugerencia? add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 ); function wpa_109409_is_purchasable( $purchasable, $product ){ if( $product->get_price() >= 0.00) $purchasable = true; return $purchasable; }

Crazeco.com.au Crazeco.com.au
27 ago 2022 15:07:51
Mostrar los 2 comentarios restantes
0

Según lo que he entendido de tu problema... WooCommerce tiene una opción cuando no pones ningún precio, el botón no aparecerá en absoluto..
Tu producto se convierte en una simple galería/catálogo..
Si eso es lo que buscas... quizás la forma más fácil sería editar tu archivo CSV... solo busca y reemplaza los ceros con espacios en blanco..

8 ago 2013 23:26:51