Tu hogar de recursos

Encuentra plantillas web, plugins y más …

Cómo ocultar los productos gratuitos en el catálogo de la tienda con WooCommerce @ Ayuda WordPress


Los productos gratuitos funcionan de maravilla como gancho para los productos o servicios de pago que ofreces, pero una vez en tu tienda online es posible, casi seguro, que no quieras que un visitante anónimo los vea compitiendo en el listado de productos o servicios con los de pago.

Siempre es mejor controlar la visibilidad, y el lugar en el que aparecen, y cómo, tus productos.

Ocultar productos gratuitos con un sencillo código

Si estás en esta situación de que prefieres no mostrar directamente tus productos o servicios de coste cero en la tienda, hay un truco para WooCommerce que te permite ocultar los productos gratuitos automáticamente.

El siguiente código es el primer ejemplo:

/* Ocultar productos normalmente gratuitos */
add_action( 'woocommerce_product_query', 'ayudawp_ocultar_productos_gratis', 9999, 2 );
function ayudawp_ocultar_productos_gratis( $q, $query ) {
if ( is_admin() ) return;
$meta_query = $q->get( 'meta_query');
$meta_query[] = array(
'key' => '_regular_price',
'value' => 0,
'compare' => '>',
);
$q->set( 'meta_query', $meta_query ); 
}

En este código hemos lanzado un gancho de acción para que se oculten todos los productos cuyo precio normal sea 0.

¿Prefieres que la invisibilidad se aplique a los productos de cualquier precio normal pero actualmente gratuitos?, entonces debes hacer un pequeño cambio en el código, y sería así:

/* Ocultar productos ocasionalmente gratuitos */
add_action( 'woocommerce_product_query', 'ayudawp_ocultar_productos_ahora_gratis', 9999, 2 );
function ayudawp_ocultar_productos_ahora_gratis( $q, $query ) {
if ( is_admin() ) return;
$meta_query = $q->get( 'meta_query');
$meta_query[] = array(
'key' => '_sale_price',
'value' => 0,
'compare' => '>',
);
$q->set( 'meta_query', $meta_query ); 
}

Si te fijas solo hemos cambiado el valor key de _regular_price (precio normal, habitual) a _sale_price (precio rebajado, en oferta), que sea igual a cero.

¿Cómo añado estos códigos a mi web?

Añade los códigos anteriores al final del archivo functions.php del tema activo, o por otro método si lo prefieres, y el resultado es inmediato, dejarán de mostrarse automáticamente tus productos gratuitos en la tienda.

Esto, por supuesto, no significa que los productos desaparezcan, seguirán ahí, incluso publicados, pero solo teniendo la URL se podrán visualizar, o si quieres compartirlos tú de algún otro modo distinto de la visualización por defecto de todos los productos de la tienda.

¿Y no se puede sin códigos?

Por supuesto, también puedes ir uno a uno y ocultarlos de la visualización editando los datos meta de cada producto, tú verás, pero el código es más rápido, y se aplicará a tus productos gratuitos presentes, pasados y futuros, sin que tengas que acordarte de ocultarlos.

Como ves, poderse se puede, pero es un peñazo bastante grande si tienes muchos.

 

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Fuente Original:

Compartir:

Noticias Relacionadas

Editar opciones