// ثبت نوع پست سفارشی برای بازه‌های زمانی function odt_register_custom_post_type() { register_post_type('delivery_slot', array( 'labels' => array( 'name' => 'بازه‌های زمانی تحویل', 'singular_name' => 'بازه زمانی', 'add_new' => 'افزودن بازه', 'add_new_item' => 'افزودن بازه جدید', 'edit_item' => 'ویرایش بازه', 'new_item' => 'بازه جدید', 'view_item' => 'مشاهده بازه', 'menu_name' => 'زمان‌بندی تحویل' ), 'public' => false, 'show_ui' => true, 'menu_icon' => 'dashicons-clock', 'supports' => array('title'), )); } add_action('init', 'odt_register_custom_post_type'); // فیلدهای متاباکس برای تعیین روز هفته و ساعت شروع/پایان function odt_add_custom_meta_boxes() { add_meta_box('delivery_slot_meta', 'جزئیات بازه زمانی', 'odt_render_meta_box', 'delivery_slot', 'normal', 'high'); } add_action('add_meta_boxes', 'odt_add_custom_meta_boxes'); function odt_render_meta_box($post) { $days = ['شنبه','یکشنبه','دوشنبه','سه‌شنبه','چهارشنبه','پنج‌شنبه']; $selected_day = get_post_meta($post->ID, '_delivery_day', true); $start_time = get_post_meta($post->ID, '_delivery_start', true); $end_time = get_post_meta($post->ID, '_delivery_end', true); echo '


'; echo '


'; echo '
'; } function odt_save_meta_fields($post_id) { if (isset($_POST['delivery_day'])) { update_post_meta($post_id, '_delivery_day', sanitize_text_field($_POST['delivery_day'])); update_post_meta($post_id, '_delivery_start', sanitize_text_field($_POST['delivery_start'])); update_post_meta($post_id, '_delivery_end', sanitize_text_field($_POST['delivery_end'])); } } add_action('save_post', 'odt_save_meta_fields'); // افزودن جدول در صفحه تسویه حساب add_action('woocommerce_review_order_before_payment', 'odt_display_delivery_slots'); function odt_display_delivery_slots() { $slots = get_posts([ 'post_type' => 'delivery_slot', 'posts_per_page' => -1, 'orderby' => 'meta_value', 'meta_key' => '_delivery_day', ]); if ($slots): echo '

انتخاب بازه زمانی تحویل سفارش

'; echo ''; echo ''; foreach ($slots as $slot) { $day = get_post_meta($slot->ID, '_delivery_day', true); $start = get_post_meta($slot->ID, '_delivery_start', true); $end = get_post_meta($slot->ID, '_delivery_end', true); echo ''; echo ''; echo ''; echo ''; } echo '
روزساعتانتخاب
'.esc_html($day).''.esc_html($start.' - '.$end).''; echo ''; echo '
'; endif; } // ذخیره بازه انتخاب‌شده در سفارش add_action('woocommerce_checkout_create_order', 'odt_save_delivery_slot_to_order'); function odt_save_delivery_slot_to_order($order) { if (isset($_POST['delivery_slot_id'])) { $slot_id = intval($_POST['delivery_slot_id']); $day = get_post_meta($slot_id, '_delivery_day', true); $start = get_post_meta($slot_id, '_delivery_start', true); $end = get_post_meta($slot_id, '_delivery_end', true); $value = $day . ' ساعت ' . $start . ' تا ' . $end; $order->update_meta_data('delivery_slot', $value); } } // نمایش بازه در جزئیات سفارش (پیشخوان مدیریت) add_action('woocommerce_admin_order_data_after_billing_address', 'odt_display_slot_in_admin', 10, 1); function odt_display_slot_in_admin($order) { $slot = $order->get_meta('delivery_slot'); if ($slot) { echo '

بازه تحویل: '.esc_html($slot).'

'; } } // نمایش بازه برای کاربر در صفحه "سفارشات من" add_action('woocommerce_order_details_after_order_table', 'odt_display_slot_to_customer'); function odt_display_slot_to_customer($order) { $slot = $order->get_meta('delivery_slot'); if ($slot) { echo '

بازه تحویل انتخاب‌شده: '.esc_html($slot).'

'; } } اچ پی - HP - جهان بازار
برای ارتباط با کارشناسان فروش با شماره تلفن: 88852972 تماس بگیرید. داخلی کارشناس فروش استوک: 101 / بخش جانبی و آکبند: 103 / بخش کارت گرافیک: 100 / سرور و شبکه: 108 / لپ تاپ استوک: 104

نمایش 1–12 از 1074 نتیجه

نمایش فیلترها
کانال تلگرام
سبد خرید

سبد خرید شما خالی است.

ورود به سایت