طلب مني أحد العملاء كتابة رمز مربع اختيار في صفحة منتج واحدة تسمى “هل هذه هدية؟”. لقد لاحظوا أن عملائهم الذين يرغبون في إهداء المنتج لصديق يتم الخلط بينهم وبين نموذج “الشحن إلى عنوان مختلف” في صفحة الدفع WooCommerce.
لذا ، ماذا عن إعادة تسمية “الشحن إلى عنوان مختلف” إلى “لمن هذه الهدية؟” إذا كانت هناك “هدية” في العربة؟ حسنًا ، هذا المقتطف يفعل ذلك تمامًا ويمكنك تكييفه / تخصيصه حسب حالتك المحددة.
“هل هذه هدية؟” checkbox @ WooCommerce صفحة منتج واحد
مقتطف PHP: “هل هذه هدية؟” Checkbox @ صفحة منتج واحد – WooCommerce
/**
* @snippet "Is This a Gift?" Checkbox @ Single Product Page - WooCommerce
* @how-to Get CustomizeWoo.com FREE
* @sourcecode https://businessbloomer.com/?p=73381
* @author Rodolfo Melogli
* @testedwith WooCommerce 3.5.1
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
// -------------------------
// 1. Display Is this a Gift checkbox
add_action( 'woocommerce_before_add_to_cart_quantity', 'bbloomer_is_this_gift_add_cart', 35 );
function bbloomer_is_this_gift_add_cart() {
?>
<p class="">
<label class="checkbox">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="is-gift" id="is-gift" value="Yes"><span>Is this a gift?</span>
</label>
</p>
<?php
}
// -------------------------
// 2. Add the custom field to $cart_item
add_filter( 'woocommerce_add_cart_item_data', 'bbloomer_store_gift', 10, 2 );
function bbloomer_store_gift( $cart_item, $product_id ) {
if( isset( $_POST['is-gift'] ) && $_POST['is-gift'] == "Yes" ) {
$cart_item['is-gift'] = $_POST['is-gift'];
}
return $cart_item;
}
// -------------------------
// 3. Preserve the custom field in the session
add_filter( 'woocommerce_get_cart_item_from_session', 'bbloomer_get_cart_items_from_session', 10, 2 );
function bbloomer_get_cart_items_from_session( $cart_item, $values ) {
if ( isset( $values['is-gift'] ) ){
$cart_item['is-gift'] = $values['is-gift'];
}
return $cart_item;
}
// -------------------------
// 4. If gift in cart, edit checkout behavior:
// a) open shipping by default
// b) rename shipping title
add_action ( 'woocommerce_before_checkout_form', 'bbloomer_gift_checkout' );
function bbloomer_gift_checkout() {
$itsagift = false;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( isset( $cart_item['is-gift'] ) ) {
$itsagift = true;
break;
}
}
if ( $itsagift == true ) {
add_filter( 'woocommerce_ship_to_different_address_checked', '__return_true' );
add_filter( 'gettext', 'bbloomer_translate_shipping_gift' );
}
}
function bbloomer_translate_shipping_gift( $translated ) {
$translated = str_ireplace( 'Ship to a different address?', 'Who is this Gift For?', $translated );
return $translated;
}
المنشورات ذات الصلة:
WooCommerce: كيفية تقصير عناوين المنتج
WooCommerce: إزالة علامات تبويب المنتج ، وإظهار الوصف الطويل
WooCommerce: عرض معرض المنتجات عموديًا (صفحة منتج واحدة)
WooCommerce: نموذج الاستفسار عن المنتج @ صفحة منتج واحد (CF7)
WooCommerce: أضف ملصق “كمية” أمام زر إضافة إلى عربة التسوق
WooCommerce: أضف رمزًا إلى أزرار إضافة إلى عربة التسوق
WooCommerce: أضف حقلًا مخصصًا إلى تنويعات المنتج
WooCommerce: 10 مقتطفات سهلة لزيادة مبيعاتك
WooCommerce: قم بالتمرير إلى علامة تبويب المنتج @ صفحة منتج واحد
WooCommerce: منتجات مخصصة ذات صلة
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!