add_filter('onglets_produits_woocommerce', 'onglets_produits_personnalisés'); fonction custom_product_tabs($tabs) { $tabs['custom_tab'] = array( 'title' => __('Informations supplémentaires', 'woocommerce'), 'priority' => 50, 'callback' => 'custom_product_tab_content' ); renvoie $tabs; } fonction custom_product_tab_content() { echo '<h2>Informations Complémentaires</h2>'; écho '<p>Vous pouvez trouver plus d'informations sur ce produit ici.</p>'; }
Catégorie: WordPress
Plugins(37)
Supprimer le champ du code de bon de réduction du panier
add_action('init', 'remove_coupon_field_from_cart'); fonction remove_coupon_field_from_cart() { remove_action('woocommerce_before_cart', 'woocommerce_coupon_form', 10); }
Les frais de livraison varient en fonction du nombre d'articles
add_filter('woocommerce_package_rates', 'ajuster_expédition_en_fonction_du_nombre_d'articles', 10, 2); fonction ajuster_expédition_en_fonction_du_nombre_d'articles($rates, $package) { $item_count = WC()->panier->obtenir_le_nombre_de_contenus_du_panier(); si ($item_count > 5) { foreach ($rates as $rate_id => $rate) { $rates[$rate_id]->cost += 2.00; // Frais de livraison supplémentaires pour 6 articles ou plus } } return $rates; }
Remise sur les produits de la catégorie « Soldes »
add_filter('woocommerce_product_get_price', 'discount_sale_category_products', 10, 2); fonction discount_sale_category_products($price, $product) { $sale_category = 'solde'; // Nom de la catégorie de vente if (has_term($sale_category, 'product_cat', $product->get_id())) { $price = $price * 0.8; // 20% Remise pour les produits de la catégorie soldes } return $price; }
Message personnalisé pour les produits épuisés
add_filter('woocommerce_get_availability', 'custom_out_of_stock_message', 1, 2); function custom_out_of_stock_message($availability, $product) { if (!$product->is_in_stock()) { $availability['availability'] = __('Malheureusement en rupture de stock - veuillez nous contacter pour plus d'informations.', 'woocommerce'); } renvoie $availability; }
Ajouter un champ de texte personnalisé au formulaire de paiement
add_action('woocommerce_after_checkout_billing_form', 'custom_checkout_form_field'); fonction custom_checkout_form_field($checkout) { echo '<div id="”custom_checkout_field”"><h2>' . __('Informations Complémentaires') . '</h2>'; woocommerce_form_field('custom_field', array( 'type' => 'text', 'class' => array('form-row-wide'), 'label' => __('Champ personnalisé'), 'placeholder' => __('Entrez vos informations ici.'), 'required' => false, ), $checkout->get_value('custom_field')); écho '</div>'; }
Ajouter des frais d'expédition supplémentaires en fonction du pays
add_filter('woocommerce_cart_calculate_fees', 'add_additional_shipping_fee'); fonction add_additional_shipping_fee() { $shipping_country = WC()->client->obtenir_pays_expédition(); si ($shipping_country == 'US') { WC()->cart->add_fee('Frais d'expédition supplémentaires', 10,00); } }
Ajouter un champ personnalisé pour les produits
add_action('woocommerce_product_options_general_product_data', 'add_custom_product_field'); function add_custom_product_field() { woocommerce_wp_text_input(array( 'id' => 'custom_field', 'label' => __('Champ personnalisé', 'woocommerce'), 'placeholder' => __('Saisissez les informations ici.'), 'desc_tip' => 'true', )); } add_action('woocommerce_process_product_meta', 'save_custom_product_field'); fonction save_custom_product_field($post_id) { $custom_field = $_POST['custom_field']; si (!vide($custom_field)) { update_post_meta($post_id, 'custom_field', esc_attr($custom_field)); } }
Masquer les options d'expédition en fonction du contenu du panier
add_filter(‘woocommerce_package_rates’, ‘hide_shipping_based_on_cart_content’, 10, 2); function hide_shipping_based_on_cart_content($rates, $package) { $cart_contains_digital_products = false; foreach ($package[‘contents’] as $item) { $product = $item[‘data’]; if ($product->is_downloadable()) { $cart_contains_digital_products = true; break; } } if ($cart_contains_digital_products) { foreach ($rates as $rate_id => $rate) { if (‘flat_rate’ === $rate->method_id) { unset($rates[$rate_id]); // Flat Rate Versand entfernen } } } return $rates; } […]
Ajouter des frais supplémentaires en fonction du nombre de produits
add_action('woocommerce_cart_calculate_fees', 'add_fee_based_on_product_count'); fonction add_fee_based_on_product_count() { $product_count = WC()->panier->obtenir_panier_contenus_count(); si ($product_count >= 5) { WC()->cart->add_fee('Frais supplémentaires', 5,00); } }