Date de création : 2022/03/24 07:59
add_action( 'after_setup_theme', 'woocommerce_support' ); function woocommerce_support() { add_theme_support( 'woocommerce' ); add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); }
add_filter( 'woocommerce_register_post_type_product', 'nomades_wc_custom_label_names' ); function nomades_wc_custom_label_names( $args ){ $labels = array( 'name' => __( 'Événements', 'nomades' ), 'singular_name' => __( 'Événement', 'nomades' ), 'menu_name' => __( 'Événements', 'Admin menu name', 'nomades' ), 'add_new' => __( 'Ajouter un événement', 'nomades' ), 'add_new_item' => __( 'Ajouter un événement', 'nomades' ), 'edit' => __( 'Modifier un événement', 'nomades' ), 'edit_item' => __( 'Modifier l\'événement', 'nomades' ), 'new_item' => __( 'Ajouter un événement', 'nomades' ), 'view' => __( 'Voir un événement', 'nomades' ), 'view_item' => __( 'Voir l\'événement', 'nomades' ), 'search_items' => __( 'Rechercher des événements', 'nomades' ), 'not_found' => __( 'Aucun événement trouvé', 'nomades' ), 'not_found_in_trash' => __( 'Aucun événement trouvé dans la corbeille', 'nomades' ), 'parent' => __( 'Événement parent', 'nomades' ) ); $args['labels'] = $labels; $args['description'] = __( 'Vous pouvez ici ajouter des événements.', 'nomades' ); return $args; }
add_filter( 'woocommerce_checkout_fields' , 'nomades_checkout_fields' ); function nomades_checkout_fields( $fields ) { /* Structure de la variables $fields (n'hésitez pas à utiliser var_dump($fields) pour la visualiser) billing billing_first_name billing_last_name billing_company billing_address_1 billing_address_2 billing_city billing_postcode billing_country billing_state billing_email billing_phone shipping shipping_first_name shipping_last_name shipping_company shipping_address_1 shipping_address_2 shipping_city shipping_postcode shipping_country shipping_state account account_username account_password account_password-2 order order_comments type – type du champ (text, textarea, password, select) label – texte du label placeholder – attribut placeholder du champ class – classe du tag parent du champ input_class – classes du champ label_class – classes du label required – si le champ est obligatoire clear – permet de "clear" le float du champ options – pour les champs select (key => value) */ $fields['billing']['billing_first_name']['input_class'] = array('red', 'bold'); // Ajoute les classes red et bold $fields['billing']['billing_email']['label'] = 'Email'; // Change le <label> à "Email" $fields['billing']['billing_first_name']['required'] = false; // Rend le champ "Prénom" non obligatoire $fields['billing']['billing_address_1']['placeholder'] = 'Rue et numéro'; // Change l'attribut "placeholder" unset($fields['billing']['billing_address_2']); // Supprime le champ "Adresse 2" return $fields; }
Utile si vous ne vendez qu'un seul produit
add_filter( 'woocommerce_add_to_cart_redirect', 'nomades_redirect_add_cart_to_checkout' ); function nomades_redirect_add_cart_to_checkout() { return wc_get_checkout_url(); }
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0);
add_filter('woocommerce_product_add_to_cart_text', 'nomades_change_add_to_cart_text', 10); function nomades_change_add_to_cart_text($text) { global $product; if ($product instanceof WC_Product && $product->is_type('variable')) { if ($product->is_purchasable()) { $text = 'Ajouter au panier'; } else { $text = 'Découvrir le produit'; } } return $text; }
la fonction dynamic_sidebar( 'sidebar' ) permet de l'afficher, par exemple:
Dans le Html
<?php if ( is_active_sidebar( 'sidebar' ) ) : ?> <div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary"> <?php dynamic_sidebar( 'sidebar' ); ?> </div><!-- #primary-sidebar --> <?php endif; ?>
Dans le fichier fonction
add_action( 'widgets_init', 'nomades_widgets_init' ); function nomades_widgets_init() { register_sidebar( array( 'name' => 'Sidebar', 'id' => 'sidebar', 'before_widget' => '<div>', 'after_widget' => '</div>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); }
add_filter( 'woocommerce_package_rates', 'nomades_hide_shipping_when_free_is_available', 100 ); function nomades_hide_shipping_when_free_is_available( $rates ) { $free = array(); foreach ( $rates as $rate_id => $rate ) { if ( 'free_shipping' === $rate->method_id ) { $free[ $rate_id ] = $rate; break; } } return ! empty( $free ) ? $free : $rates; }
add_filter( 'woocommerce_product_tabs', 'remove_product_tabs', 99 ); function remove_product_tabs( $tabs ) { unset( $tabs['additional_information'] ); // unset( $tabs['reviews'] ); return $tabs; }
add_filter('woocommerce_get_availability', 'nomades_availability_label'); function nomades_availability_label($availability) { $availability['availability'] = str_replace('Rupture de stock', 'Vendu', $availability['availability']); return $availability; }
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' ); add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' ); function wc_minimum_order_amount() { $minimum = 50; if ( WC()->cart->total < $minimum ) { wc_print_notice( sprintf( 'Votre total est de %s — vous devez avoir un minimum de %s pour commander' , wc_price( WC()->cart->total ), wc_price( $minimum ) ), 'error' ); } }
Page dans la catégorie: