محدود کردن سفارش‌گیری ووکامرس در بازه‌های زمانی دلخواه

محدود کردن سفارش‌گیری ووکامرس در بازه‌های زمانی دلخواه

بروزرسانی شده در۱۱ دی ۱۴۰۳

آنچه در این مقاله می خوانید...

مدیریت زمان سفارش‌گیری یکی از چالش‌های مهم برای فروشگاه‌های آنلاین است ، به‌ویژه زمانی که نیاز باشد سفارشات تنها در ساعات مشخصی از روز ثبت شوند. وردپرس امکانات زیادی برای سفارشی‌سازی دارد،اما بعضی از این قابلیت ها نیاز است تا با کدنویسی حل شودن و شاید اصلا افزونه وردپرسی تا به حال برای آن نوشته نشده باشد.

در این آموزش قصد داریم به صورت عملی و با کدنویسی ساده و گویا،فروشگاه خود را طوری برنامه ریزی کنیم که سفارشات فقط در ساعات مشخصی ار روز ثبت شوند.به عنوان مثال می خواهیم در این آموزش به کاربران اجازه بدهیم در ساعات ۱۲ ظهر تا ۱۸ بعد از ظهر بتوانند سفارشات خود را ثبت کنند و در خارج از این تایم هشداری و اطلاعیه ای به آن ها نمایش داده شود.

محدود کردن سفارش‌گیری ووکامرس

پس بدون اتلاف وقت و زیاده گویی برویم برای ادامه آموزش.

محدود کردن سفارش‌گیری ووکامرس

بگذارید یک بار روند این کار را با هم مرور کنیم.ما قصد داریم در ساعات مجاز(در این جا از ساعت ۱۲ تا ۱۸) کاربران سایت بتوانند سفارشات خود را ثبت کنند و در بازه های زمانی خارج از این ساعت اطلاعیه ای با متن “در حال حاضر امکان ثبت سفارش وجود ندارد. لطفاً بین ساعت ۱۲ تا ۱۸ اقدام کنید” در بالای سایت به کاربران نمایش داده شود و در نهایت دکمه های سبد خرید هم غیرفعال و یا حذف شوند که کاربر توانایی اضافه کردن محصول به سبد خرید را نداشته باشد.

برای این کار فقط کافی است فایل functions.php قالب سایت خود را باز کنیم و کد های زیر را در آن قرار بدهیم:


function show_order_restriction_notice() {
    
    $start_time = 12; 
    $end_time   = 18;
    $current_hour = intval( current_time( 'H' ) ); 

   
    if ( $current_hour < $start_time || $current_hour >= $end_time ) {
        echo '
        <div style="background-color: #ffcc00; color: #000; text-align: center; padding: 10px;">
            <strong>توجه:</strong> در حال حاضر امکان ثبت سفارش وجود ندارد. لطفاً بین ساعت ' . $start_time . ' تا ' . $end_time . ' اقدام کنید.
        </div>';
    }
}
add_action( 'wp_body_open', 'show_order_restriction_notice' );

add_filter( 'woocommerce_is_purchasable', 'disable_purchasable_in_archive_based_on_time', 10, 2 );

function disable_purchasable_in_archive_based_on_time( $is_purchasable, $product ) {
    $start_time = 12; 
    $end_time= 18;
    $current_hour = intval(current_time( 'H' ));

  
    if ( $current_hour < $start_time || $current_hour >= $end_time ) {

     return '';
    }
    return $is_purchasable;
}

تابع show_order_restriction_notice با استفاده از هوک wp_body_open یک بنر اطلاعیه را به بالای سایت ما جهت اطلاع کاربران اضافه می کند و در نهایت با استفاده از woocommerce_is_purchasable بررسی می کنیم که اگر زمان فعلی کاربر در خارج از ساعات مجاز سفارش گیری باشد دکمه سبد خرید را غیر فعال کند.

توجه کنید با استفاده از متغیر های $start_time و $end_time می توانید ساعات سفارش گیری خود را شخصی سازی کنید و ساعات دلخواه خود را قرار دهید.

start_time : ساعت شروع سفارش گیری

end_time : ساعت پایان سفارش گیری

به همین راحتی توانستیم بدون نیاز به هیج افزونه ای اقدام به محدود کردن سفارش‌گیری ووکامرس وغیرفعال‌سازی دکمه سبد خرید ووکامرس در بازه‌های زمانی دلخواه کنیم.امیدوارم که این آموزش برای شما کاربردی بوده باشد.

چنانچه برای فروشگاه خود نیاز به پشتیبانی سایت وردپرسی فروشگاهی داشتید می توانید از طریق راه های ارتباطی با ما در تماس باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دو × 1 =