recherche

Maison  >  Questions et réponses  >  le corps du texte

Supprimez la notification dans WooCommerce indiquant « Le paiement ne peut pas être effectué lorsque le panier est vide ».

Quel code dois-je ajouter functions.php pour supprimer "Impossible de payer lorsque le panier est vide". Notifications dans Woocommerce.

J'ai trouvé le code responsable de l'affichage de ce message dans include/wc-template-functions.php.

// When on the checkout with an empty cart, redirect to cart page.
if ( is_page( wc_get_page_id( 'checkout' ) ) && wc_get_page_id( 'checkout' ) !== wc_get_page_id( 'cart' ) && WC()->cart->is_empty() && empty( $wp->query_vars['order-pay'] ) && ! isset( $wp->query_vars['order-received'] ) && ! is_customize_preview() && apply_filters( 'woocommerce_checkout_redirect_empty_cart', true ) ) {
    wc_add_notice( __( 'Checkout is not available whilst your cart is empty.', 'woocommerce' ), 'notice' );
    wp_safe_redirect( wc_get_cart_url() );
    exit;

}

L'écrasement des fichiers principaux n'est pas une option, des suggestions ?

P粉336536706P粉336536706393 Il y a quelques jours981

répondre à tous(1)je répondrai

  • P粉561438407

    P粉5614384072023-11-18 09:39:55

    Vous pouvez utiliser des woocommerce_checkout_redirect_empty_cartCrochets de filtre. Puisque le message ne sera affiché que si cette condition est vraie

    add_filter( 'woocommerce_checkout_redirect_empty_cart', '__return_false' );
    

    Une autre option consiste à utiliser un woocommerce_add_notice hook de filtre qui renvoie false si le message correspond

    function filter_woocommerce_add_notice ( $message ) {
        // Equal to (Must be exactly the same).
        // If the message is displayed in another language, adjust where necessary!
        if ( $message == 'Checkout is not available whilst your cart is empty.' ) {
            return false;
        }   
        
        return $message;
    }
    add_filter( 'woocommerce_add_notice', 'filter_woocommerce_add_notice', 10, 1 );
    

    répondre
    0
  • Annulerrépondre