logo blackCitron Noir
Contact

Filtrer si le panier Woocommerce est vide avec Oxygen Builder

Ce snippet permet de créer une condition personnalisée dans Oxygen Builder pour détecter si le panier d'achat WooCommerce d'un utilisateur est vide. Cette condition peut être extrêmement utile pour afficher ou masquer des éléments spécifiques sur un site, améliorant ainsi l'expérience d'achat et la navigation.

Partager : 

Code personnalisé

Conseil : Ajouter ce code personnalisé à l'aide du plugin Code Snippe

add_action( 'init' , 'cn_empty_cart_condition' );
function cn_empty_cart_condition() {
   global $oxy_condition_operators; 
    oxygen_vsb_register_condition(
        'Le panier est vide ?',
        array( 
            'options' => array(true, false),
            'custom' => false
        ),
        $oxy_condition_operators['simple'],
        'cn_condition_empty_cart_callback',
        'Woo User'
    );
}
function cn_condition_empty_cart_callback( $value, $operator ) {   
    if (! is_user_logged_in() ) {
        return false;
    }
	$emptycart = WC()->cart->is_empty();   
    $value = (bool) $value;  
    return oxy_condition_eval_string($emptycart, $value, $operator);
}

Explications du snippet :

  • Enregistrement de la condition personnalisée :
    • Utilisez add_action avec le hook init pour s'assurer que votre condition est enregistrée dès que WordPress est chargé.
    • La fonction oxygen_vsb_register_condition est appelée pour créer la condition dans Oxygen Builder, où vous définissez le nom de la condition, les options disponibles (dans ce cas, vrai ou faux), et le groupe sous lequel la condition doit apparaître.
  • Définition du Callback :
    • La fonction cn_condition_empty_cart_callback est définie comme le callback de la condition. Elle est responsable de l'évaluation de la condition (si le panier est vide ou non).
    • Elle commence par vérifier si l'utilisateur est connecté, car la condition ne s'applique qu'aux utilisateurs connectés.
  • Vérification de l'état du panier :
    • La fonction accède au panier WooCommerce via WC()->cart->is_empty() pour déterminer si le panier est actuellement vide.
    • Elle compare ensuite cet état avec la valeur attendue ($value) en utilisant une fonction hypothétique oxy_condition_eval_string, qui devrait évaluer si l'état du panier correspond à la condition définie dans l'éditeur Oxygen.
  • Résultat de la condition :
    • Le résultat de cette évaluation détermine si des éléments spécifiques seront affichés ou cachés sur le site, en fonction de l'état du panier de l'utilisateur.

Les autres Snippets