Переименовать административное подменю Woocommerce "Orders" - PullRequest
0 голосов
/ 16 ноября 2018

Как переименовать подменю заказа в WooCommerce?

enter image description here

Я пробовал это так, но он не работает:

add_filter( 'gettext', 'rename_texts', 20, 3 );
function rename_texts( $translated ) {      
    switch ( $translated ) {
        case 'Bestellungen' :
            $translated = __( 'My Tests', 'woocommerce' );
            break;
    }

    return $translated;
}

1 Ответ

0 голосов
/ 16 ноября 2018

Вам нужно использовать gettext_with_context hook вместо gettext, чтобы заставить его работать следующим образом:

add_filter('gettext_with_context', 'rename_woocommerce_admin_text', 100, 4 );
function rename_woocommerce_admin_text( $translated, $text, $context, $domain ) {
    if( $domain == 'woocommerce' && $context == 'Admin menu name' && $translated == 'Bestellungen' ) {
        // Here your custom text
        $translated = 'Custom text';
    }
    return $translated;
}

Код помещается в файл function.php вашей активной дочерней темы (активной темы)).Протестировано и работает.

enter image description here


Или вы также можете использовать это для таргетинга на непереведенный текст "Orders" вместо:

add_filter('gettext_with_context', 'rename_woocommerce_admin_text', 100, 4 );
function rename_woocommerce_admin_text( $translated, $text, $context, $domain ) {
    if( $domain == 'woocommerce' && $context == 'Admin menu name' && $text == 'Orders' ) {
        $translated = __('Custom text', $domain );
    }
    return $translated;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme).Проверено и работает.

...