Add Warranty Dropdown to Product & Save to Order Meta – הוספת שדה 'תעודת אחריות' ושמירתו בהזמנה
מה נפתור: לקוחות אינם יודעים אם אחריות מורחבת כלולה בקנייה.
נוסיף Select Box ב‑product data tabs, נציג ב‑Cart ונשמור order meta.
שלבי יישום מפורטים
- פתח functions.php בתבנית-ילד או צור תוסף ייעודי.
- הוסף את קטע הקוד לעיל.
- בעמוד מוצר אנשי מכירות יבחרו זמן אחריות.
- ב‑checkout יוצג הערך לצד פריט המוצר.
- ב‑Woo Admin → Order → Item meta תראה את ה‑key.
קטע קוד מלא (PHP 8.3)
// Add to product edit
add_action('woocommerce_product_options_general_product_data', function(){
woocommerce_wp_select([
'id' => '_warranty',
'label' => __('Warranty', 'pablo'),
'options' => ['none'=>'No','12'=>'12M','24'=>'24M']
]);
});
// Save
add_action('woocommerce_admin_process_product_object', function($product){
$product->update_meta_data('_warranty', $_POST['_warranty'] ?? 'none');
});
// Display on cart & order
add_filter('woocommerce_get_item_data', function($data,$cart_item){
if(!empty($cart_item['data']->get_meta('_warranty'))){
$data[] = ['key'=>__('Warranty'),'value'=>$cart_item['data']->get_meta('_warranty')];
}
return $data;
},10,2);
הסבר שורה‑שורה
- ה‑hook product_options_general_product_data מופיע בטאב כללי.
- update_meta_data מחייב שמירה ב‑admin_process_product_object.
- get_item_data מציג את הערך ללקוח ול‑email.
שיפור SEO ו‑Yoast
השתמש במילת המפתח WooCommerce warranty field בכותרת, בתיאור המטא וב‑URL הידידותי.