5 magnifiques astuces WooCommerce

Publié le 21 mai 2015 par Amerigeau @arnaudmerigeau
21 mai 2015

PrestaShop est dédié au e-commerce, certes, mais d’autres solutions existent comme Magento, Open Cart mais aussi WooCommerce basée sur WordPress. Il m’arrive de travailler sur cette solution marchande dont voici quelques snippets forts utiles.

5 Best WooCommerce snippets for WordPress

WooCommerce est une des solutions e-commerce pour WordPress plutôt robuste même si certaines fonctionnalités manquent par rapport à PrestaShop, notamment : règles panier, règles de prix catalogue, statistiques avancées, etc.

Tous  ces bouts de code doivent être placés dans le fichier functions.php de votre thème pour fonctionner.

C’est parti donc pour 5 bouts de code à utiliser sur WooCommerce :

1 – Ajouter un e-mail destinataire quand la commande est terminée

function woo_extra_email_recipient($recipient, $object) {
    $recipient = $recipient . ', your@email.com';
    return $recipient;
}
add_filter( 'woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

2 – Rediriger le bouton d’ajout panier à la page commande

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
    global $woocommerce;
    $checkout_url = $woocommerce->cart->get_checkout_url();
    return $checkout_url;
}

3 – Trier les produits par prix, date ou nom

add_filter('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');
function custom_default_catalog_orderby() {
     return 'date'; // Can also use title and price
}

4 – Fixer un montant minimum de commande

add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
	global $woocommerce;
	$minimum = 50;
	if ( $woocommerce->cart->get_cart_total(); < $minimum ) {
           $woocommerce->add_error( sprintf( 'You must have an order with a minimum of %s to place your order.' , $minimum ) );
	}
}

5 – Afficher les produits en solde

function woo_have_onsale_products() {
	
	global $woocommerce;

	// Get products on sale
	$product_ids_on_sale = array_filter( woocommerce_get_product_ids_on_sale() );

	if( !empty( $product_ids_on_sale ) ) {
		return true;
	} else {
		return false;
	}
	
}

// Example:
if( woo_have_onsale_products() ) {
	echo 'have onsale products';
} else {
	echo 'no onsale product';
}

To be continued…

Tags: