تغییر نام پیام وضعیت سفارش در ووکامرس

آخرین بروز رسانی در : 2023/12/17

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

قبل از اینکه این آموزش را شروع کنیم ، در صورتی که بعد از قرار دادن این کدها ، به درستی برای نسخه ووکامرس شما اعمال نشد ، برای برگشت به مرحله قبل کافیست کدهای که قرار دادید را حذف کنید.

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

این مطلب را بخوانید اضافه کردن کد آماده به وردپرس

تغییر نام پیام وضعیت سفارش در ووکامرس

مراحل تغییر نام پیام وضعیت سفارش در ووکامرس

برای تغییر نام پیام های وضعیت سفارش در ووکامرس مراحلی را باید دنبال کنید که در اینجا به آن اشاره شده است :

مرحله ۱‍ : یک تم فرزند برای وردپرس خود نصب کنید . ( یا یکی از روشهای مربوط به اضافه کردن کد آماده در وردپرس را انجام دهید . )

مرحله ۲ :‌ از منوی پیشخوان ، در زیر منوی نمایش به منوی ویرایشگر پرونده بروید.

مرحله ۳ :‌ به دنبال فایل functions.php بگردید. اینجاست که ما قطعه کدهای آماده ووکامرس را اضافه می کنیم که نام پیام های وضعیت سفارش را در ووکامرس شما تغییر می دهد.

مرحله ۴ :‌ اکنون کد زیر را در فایل functions.php تم فرزند خود وارد کنید :

add_filter( 'wc_order_statuses', 'ts_rename_order_status_msg', 20, 1 );
function ts_rename_order_status_msg( $order_statuses ) {
    $order_statuses['wc-completed']  = _x( 'Order Received', 'Order status', 'woocommerce' );
    $order_statuses['wc-processing'] = _x( 'Your Order is being processed', 'Order status', 'woocommerce' );
    $order_statuses['wc-on-hold']    = _x( 'Your Order is on hold', 'Order status', 'woocommerce' );
    $order_statuses['wc-pending']    = _x( 'Your Order is pending', 'Order status', 'woocommerce' );
    return $order_statuses;
}

پس از وارد کردن کدهای بالا خواهید دید که متن وضعیت سفارش تغییر کرده است . ما از هوک wc_order_statuses در اینجا استفاده کرده ایم و سپس از تابعی که با اسم ts_rename_order_status_msg ایجاد کرده ایم برای انتقال دستورات به این هوک استفاده کرده ایم .

همچنین از آرایه  $order_statuses که به عنوان آرگومان ارسال کرده ایم حاوی پیام های به عنوان اولین مقدار می باشد . برای تغییر این پیام ها کافیست اولین مقدار این آرایه را تغییر دهید . به عنوان مثال :

add_filter( 'wc_order_statuses', 'ts_rename_order_status_msg', 20, 1 );
function ts_rename_order_status_msg( $order_statuses ) {
    $order_statuses['wc-completed']  = _x( 'سفارش دریافت شد', 'Order status', 'woocommerce' );
    $order_statuses['wc-processing'] = _x( 'سفارش شما در حال پردازش است', 'Order status', 'woocommerce' );
    $order_statuses['wc-on-hold']    = _x( 'سفارش شما در انتظار است', 'Order status', 'woocommerce' );
    $order_statuses['wc-pending']    = _x( 'سفارش شما در انتظار است', 'Order status', 'woocommerce' );
    return $order_statuses;
}

پس از قرار دادن کدهای بالا ، پیام های وضعیت سفارش هم در قسمت فرانت و در حساب کاربری از بخش حساب من -> سفارش  و هم در پنل ادمین سایت تغییر کرده است .

تغییر پیام های وضعیت سفارش در ووکامرس

دو محل دیگر وجود دارد که در آن پیام وضعیت سفارش ووکامرس نمایش داده می‌شود، یعنی در منوی بالایی در داشبورد مدیریت، و همچنین در قسمت کشویی برای اعمال انبوه:

این پیام‌های وضعیت را می‌توان با استفاده از دو قلاب دیگر به هوک ها که دو عملکرد دیگر را به آنها متصل می‌کنیم تغییر داد.

کدهای زیر را در ادامه کدهای بالا قرار دهید ( ما از تم فرزند یا همان child-theme استفاده می کنیم ) .

foreach( array( 'post', 'shop_order' ) as $hook )
    add_filter( "views_edit-shop_order", 'ts_order_status_top_changed' );
function ts_order_status_top_changed( $views ){
    if( isset( $views['wc-completed'] ) )
        $views['wc-completed'] = str_replace( 'Completed', __( 'Order Received', 'woocommerce'), $views['wc-completed'] );
    if( isset( $views['wc-processing'] ) )
        $views['wc-processing'] = str_replace( 'Processing', __( 'In Process', 'woocommerce'), $views['wc-processing'] );
    if( isset( $views['wc-on-hold'] ) )
        $views['wc-on-hold'] = str_replace( 'On hold', __( 'Order on Hold', 'woocommerce'), $views['wc-on-hold'] );
    if( isset( $views['wc-pending'] ) )
        $views['wc-pending'] = str_replace( 'Pending payment', __( 'Payment Pending', 'woocommerce'), $views['wc-pending'] );
        return $views;
}

می‌بینید که ما در اینجا از قلاب views_edit-shop_order استفاده کرده‌ایم تا به سادگی مقادیر String را که هر کلید آرایه (برای پیام‌های وضعیت سفارش‌های مختلف) حاوی آن است جایگزین کنیم.

تغییر نام پیام وضعیت سفارش در ووکامرس

اکنون، آخرین جایی که باید پیام‌های وضعیت سفارش را تغییر دهیم (در صورت لزوم)، آیتم کشویی Bulk Actions است که در زیر منوی لیست وضعیت سفارشات نمایش داده می شود. برای این کار، از یک قطعه کد دیگر استفاده می کنیم و آن را به همان فایل functions.php اضافه می کنیم

add_filter( 'bulk_actions-edit-shop_order', 'ts_bulk_actions_order_status', 20, 1 );
function ts_bulk_actions_order_status( $actions ) {
    $actions['mark_processing'] = __( 'Mark as In Process', 'woocommerce' );
    $actions['mark_on-hold']    = __( 'Mark as Order on Hold', 'woocommerce' );
    $actions['mark_completed']  = __( 'Mark as Order Received', 'woocommerce' );
    return $actions;
}

در اینجا، قلاب bulk_actions-edit-shop_order برای تغییر مقادیر اقدامات مختلف اعمال شده برای سفارشات استفاده می شود. می‌توانید ببینید که پیام‌های وضعیت سفارش در این منوی کشویی تغییر کرده است:

به این ترتیب، می توانید پیام های وضعیت سفارش را در همه مکان ها بسته به ترجیح خود تغییر دهید.

پلاگین برای تغییر پیام وضعیت سفارش در ووکامرس

در قسمت بالا ما به شما یاد دادیم که چطور با استفاده از کدهای آماده و بدون نیاز به افزونه خاصی بتوانید پیام وضعیت سفارش در ووکامرس را تغییر دهید . اما در صورتی که تمایل به استفاده کدهای آماده ندارید و یا اینکه نیاز به ویرایش کاملتر و اضافه کردن وضعیت سفارش بیشتر به وب سایت خود هستید کافیست از پلاگین Custom Order Status Manager for WooCommerce استفاده کنید .

افزونه Custom Order Status Manager for WooCommerce
افزونه Custom Order Status Manager for WooCommerce

امکانات این افزونه :

  • ایجاد وضعیت سفارش نامحدود
  • تغییر برچسب های وضعیت سفارش
  • ایجاد آیکن و نمادهای مختلف با رنگهای متفاوت برای وضعیت سفارشات
  • اعلان ایمیل های مختلف با توجه به وضعیت سفارش برای مشتریان و مدیران
  • ایجاد وضعیت سفارش جدید برای روش های پرداخت

کار با این افزونه بسیار راحت می باشد کافیست نصب کنید و یک منو به داشبورد ادمین شما اضافه می شود به اسم Bright Plugins که می توانید تنظیمات اصلی افزونه را در این بخش انجام دهید .

در پایان 

ما با استفاده از کدهای آماده و همچنین با استفاده از معرفی یکی پلاگین توانستیم پیام وضعیت سفارش در ووکامرس را تغییر و مدیریت کنیم  . در صورتی که از طریق کدنویسی اینکار را انجام دادید و در روند وب سایت مشکل به وجود آمد کافیست کدهای که قرار دادید را حذف و از پلاگین معرفی شده استفاده کنید .

اگر سوال یا نظری درباره این مطلب داشتید کافیست از بخش نظرات همین صفحه استفاده کنید .🌸

 

5/5 - (3 امتیاز)
مهدی طیبی

مهدی طیبی مدیر وب سایت‌ آروا وردپرس ، کارشناس فناوری اطلاعات و متخصص در حوزه وردپرس ، توسعه دهنده و طراح سایت وردپرسی

نظرات کاربران

1 + سیزده =

  • avatar ستاره محمدی
    2023/12/31

    سلام از توضیحات کاملتون متشکرم اگر امکانش هست کد ها را مجدد یکجا و در پایان مقاله قرار دهید که استفاده راحتت تر شود ممنونم

    • avatar مهدی طیبی
      2024/01/04

      سلام . خواهش می کنم . حتما اینکار را انجام میدیم . ممنون از وقتی که گذاشتید