WooCommerce - переименование статуса завершения массовых действий в списке заказов администратора

Я уже переименовал свой статус заказа "завершен" в "оплачен" с помощью этого кода.

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

И теперь мне нужно переименовать массовые опции в моем админке списка заказов. Я использовал этот код:

add_action('admin_footer-edit.php', 'custom_bulk_admin_footer');
function custom_bulk_admin_footer() {

    global $post_type;

     if($post_type == 'shop_order') {
?>
<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery('<option>').val('shipped').text('<?php _e('Mark as shipped')?>').appendTo("select[name='action']");
    jQuery('<option>').val('shipped').text('<?php _e('Mark as shipped')?>').appendTo("select[name='action2']");
  });
</script>
<?php
 }
}

Но работал только для добавления новой опции, что мне действительно нужно, так это переименовать массовую опцию «Отметить как завершенную» на «Отметить как оплаченную».

Как я могу это решить?

Спасибо


person Flusko    schedule 11.09.2016    source источник


Ответы (1)


Можно использовать gettex() встроенную функцию wordpress. Вы получите это:

введите описание изображения здесь

Это код:

add_filter('gettext', 'wc_renaming_bulk_status', 20, 3);
function wc_renaming_bulk_status( $translated_text, $untranslated_text, $domain ) {

    if( is_admin()) {
        if( $untranslated_text == 'Mark complete' )
            $translated_text = __( 'Mark paid','theme_text_domain' );
    }
    return $translated_text;
}

Этот код находится в файле function.php вашей активной дочерней темы (или темы) или также в любом файле плагина.

Этот код протестирован и работает.

person LoicTheAztec    schedule 11.09.2016