Rename WooCommerce Order Status

I would like to rename the WooCommerce order status from Completed to Accepted Order. I can edit the script below located in wc-order-functions.php, but I would prefer not to modify any kernel files or use a plugin.

Is it possible to override woocoomerce functions with scripts in a child functions.phpfile theme ?

function wc_get_order_statuses() {
  $order_statuses = array(
    'wc-pending'    => _x( 'Pending Payment', 'Order status', 'woocommerce' ),
    'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
    'wc-on-hold'    => _x( 'On Hold', 'Order status', 'woocommerce' ),
    'wc-completed'  => _x( 'Completed', 'Order status', 'woocommerce' ),
    'wc-cancelled'  => _x( 'Cancelled', 'Order status', 'woocommerce' ),
    'wc-refunded'   => _x( 'Refunded', 'Order status', 'woocommerce' ),
    'wc-failed'     => _x( 'Failed', 'Order status', 'woocommerce' ),
  );
  return apply_filters( 'wc_order_statuses', $order_statuses );
}
+4
source share
3 answers

"" " ", wc_order_statuses wc_order_statuses ( wc_order_statuses function.php ):

add_filter( 'wc_order_statuses', 'wc_renaming_order_status' );
function wc_renaming_order_status( $order_statuses ) {
    foreach ( $order_statuses as $key => $status ) {
        if ( 'wc-completed' === $key ) 
            $order_statuses['wc-completed'] = _x( 'Order Received', 'Order status', 'woocommerce' );
    }
    return $order_statuses;
}

function.php ( ). .

2018 - , :
β€’
β€’ ( )
. Woocommerce.

: woocommerce

+10

, - Loic . .

LocoTranslate . ( ), - .

, . , ( - ).

, , WooCommerce .

+1

, , .

, woocommerce_register_shop_order_post_statuses label_count :

// Rename order status 'Completed' to 'Order Received' in admin main view - different hook, different value than the other places
function wc_rename_order_status_type( $order_statuses ) {
    foreach ( $order_statuses as $key => $status ) {
        $new_order_statuses[ $key ] = $status;
        if ( 'wc-completed' === $key ) {
            $order_statuses['wc-completed']['label_count'] = _n_noop( 'Order Received <span class="count">(%s)</span>', 'Order Received <span class="count">(%s)</span>', 'woocommerce' );
        }
    }
    return $order_statuses;
}
add_filter( 'woocommerce_register_shop_order_post_statuses', 'wc_rename_order_status_type' );

" ". gettext WordPress, :

// Rename order status in the bulk actions dropdown on main order list
function rename_bulk_status( $translated_text, $untranslated_text, $domain ) {
    if( is_admin()) {
        if( $untranslated_text == 'Change Status To completed' )
            $translated_text = __( 'Change Status To Order Received','woocommerce' );
    }
    return $translated_text;
}

add_filter('gettext', 'rename_bulk_status', 20, 3);

, 3 .

+1

Source: https://habr.com/ru/post/1654242/


All Articles