9 códigos para mejorar tu tienda online con WooCommerce

Desde hace más de 5 años, WooCommerce está considerado como el plugin de ecommerce más potente y fácil de utilizar para WordPress. Si lo que quieres es montar un sitio web sencillito en el que vender pocos productos, que tenga un diseño 100% profesional, te recomendamos que te decantes por WooCommerce antes que otras plataformas como Magento o Prestashop. En este artículo he compilado una serie de códigos que extenderán las posibilidades de WooCommerce.

Códigos para WooCommerce

A continuación te muestro 9 códigos para WooCommerce que te pueden venir muy, pero que muy bien.

WooCommerce

Crear un enlace para “Añadir al carrito” directamente

Hay veces que debes permitir a los usuarios añadir productos directamente al carrito haciendo clic en un enlace. Esto es muy fácil de llevarlo a cabo, simplemente añade ?add-to-cart=523 al final de cualquier enlace.

En este ejemplo, 523 es el id del producto, por lo que debes reemplazarlo por el id del producto que quieras que los usuarios añadan al carrito directamente mediante un enlace.

http://tusitioweb.com/checkout/?add-to-cart=523

Eliminar campos relativos a la dirección en el checkout

Si vendes productos virtuales, no tienes por qué pedirle al comprador su dirección. Para eliminar campos relativos a la dirección del cliente en el checkout, inserta el siguiente código en el archivo functions.php de tu tema.

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
 
function custom_override_checkout_fields( $fields ) {
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_city']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_phone']);
    unset($fields['order']['order_comments']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_city']);
    return $fields;
}

Modificar el número de productos por página

Un método simple y efectivo de definir cuántos productos mostrar por página. En este ejemplo, return 25 significa que se mostrarán 25 productos en el listado de productos de WooCommerce. Modifica este valor con el número de productos que desees mostrar e inserta esta línea de código dentro del functions.php de tu tema.

add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 25;' ), 20 );

Añade un mensaje encima del formulario de registro y login

Si quieres añadir un mensaje encima del formulario de registro y de login, aquí tienes una forma muy sencilla de llevarlo a cabo. Solo debes insertar este código en el fichero functions.php de tu tema.

add_action( 'woocommerce_before_customer_login_form', 'jk_login_message' );
function jk_login_message() {
    if ( get_option( 'woocommerce_enable_myaccount_registration' ) == 'yes' ) {
	?>
		<div class="woocommerce-info">
			<p><?php _e( 'Returning customers login. New users register for next time so you can:' ); ?></p>
			<ul>
				<li><?php _e( 'View your order history' ); ?></li>
				<li><?php _e( 'Check on your orders' ); ?></li>
				<li><?php _e( 'Edit your addresses' ); ?></li>
				<li><?php _e( 'Change your password' ); ?></li>
			</ul>
		</div>
	<?php
	}
}

Eliminar las migas de pan

Si crees que no necesitas las migas de pan (o breadcrumbs) en tu sitio web, puedes eliminarlas fácilmente añadiendo este código en el functions.php de tu tema.

add_action( 'init', 'jk_remove_wc_breadcrumbs' );

function jk_remove_wc_breadcrumbs() {
    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}

Redirigir el botón de añadir al carrito a la página de checkout

Un truco muy interesante que te da la posibilidad de redirigir automáticamente a los usuarios a la página de checkout cuando añadan un producto al carrito. Como muchos otros códigos de este artículo, debes pegar el código de a continuación en el fichero functions.php de tu tema.

function add_to_cart_checkout_redirect() {
    wp_safe_redirect( get_permalink( get_option( 'woocommerce_checkout_page_id' ) ) );
    die();
}

add_action( 'woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 16 );

Reemplazar “Fuera de stock” por “vendido”

Si en tu tienda online vendes artículos únicos, tiene mucho más sentido mostrar la palabra “vendido” que mostrar el texto “Fuera de stock”. Para realizar esto en WooCommerce, pega este código en el fichero functions.php de tu tema.

add_filter('woocommerce_get_availability', 'availability_filter_func');

function availability_filter_func($availability) {
	$availability['availability'] = str_ireplace('Fuera de stock', 'Vendido', $availability['availability']);
	return $availability;
}

Restringir el envío a determinados países

Si solamente estás dispuesto a enviar artículos a determinados países, puedes utilizar el siguiente código para implementarlo en WooCommerce. Para agregar países añádelos en el array de la línea 6. Una vez modificado con los paises, pega el código en el fichero functions.php para que funcione.

function woo_override_checkout_fields( $fields ) { 

	$fields['shipping']['shipping_country'] = array(
		'type'      => 'select',
		'label'     => __('Listado de paises', 'woocommerce'),
		'options' 	=> array('AU' => 'Australia')
	);

	return $fields; 
} 
add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields' );

Mostrar “el producto ya está en el carrito” en lugar del botón de “añadir al carrito”

Si un visitante ya ha añadido un producto específico a su carrito, es una genial idea notificarle que ya lo ha comprado con un mensaje en el botón de compra. Aquí tienes el snippet para llevarlo a cabo. Por supuesto, añádelo en el fichero functions.php de tu theme.

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' );
function woo_custom_cart_button_text() {
	global $woocommerce;
	foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
		$_product = $values['data'];
 
		if( get_the_ID() == $_product->id ) {
			return __('Ya esta en el carrito - ¿Añadirlo otra vez?', 'woocommerce');
		}
	}
	return __('Añadir al carrito', 'woocommerce');
}
 
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
	global $woocommerce;
	foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
		$_product = $values['data'];
		if( get_the_ID() == $_product->id ) {
			return __('Ya esta en el carrito', 'woocommerce');
		}
	}
	return __('Añadir al carrito', 'woocommerce');
}

Y hasta aquí el artículos sobre 9 códigos para mejorar tu tienda online con WooCommerce. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales.

2 Comentarios

  1. Exceltene articulo y muy util, hablando de eliminar campos del checkout sabras como se modifican los titulos del mismo? ya que no he encontrado como hacerlo.
    Desde ya muchas gracias y saludos.

  2. Muy bien todos los consejos. Humildemente, me atrevo a opinar, y opino que en el último código, se podrían apuntar los dos filtros a la misma función, pues las dos funciones son exactamente el mismo código.

Dejar respuesta

Please enter your comment!
Please enter your name here