• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Как добавить новый мультиязычный статус заказа

searchingman

Гуру
Местный

VadimS

Новичок
но ради статуса покупать плагин за 79 USD как то не хотелось бы
 

artemkomarov

Специалист
Местный
Лучше не скрывать, но удалять/добавлять.
Если честно то задача вообще дурацкая. Зачем что то удалять? не надо просто не используй, не выбирай этот статус и все! А если скрывать что то фильтрами то будет геморрой это факт так как плагины оплаты плагины добавляющие новые статусы в определенной очередности и тд используют core статусы!
 

VadimS

Новичок
Меню, категорию, тоже через скрипт, они меняться не будут, а название товаров: код и картинки. Специфический магазин.
 

searchingman

Гуру
Местный
никакого, написан скрипт переключения языков po.
Вы добавляете наименование статуса и другие данные с помощью функций локализации _x(), которые "берут данные" из соответствующего файла *.mo. Значит, новые фразы нужно внести в соответствующие файлы *.po (*.mo).

Либо используйте переменную переключения языка из вашего самописного скрипта и изменяйте фразы "на лету".
 
Последнее редактирование:

VadimS

Новичок
Вы добавляете наименование статуса и другие данные с помощью функций локализации _x(), которые "берут данные" из соответствующего файла *.mo. Значит, новые фразы нужно внести в соответствующие файлы *.po (*.mo).
я использую вот такую функцию для добавления статуса:
PHP:
// My new order statuses.
function register_my_new_order_statuses() {
    register_post_status( 'wc-status-name', array(
        'label'                     => _x( 'Status Name', 'Order status', 'woocommerce' ),
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( 'Status name <span class="count">(%s)</span>', 'Status names <span class="count">(%s)</span>', 'woocommerce' )
    ) );
}

add_action( 'init', 'register_my_new_order_statuses' );

// Register in wc_order_statuses.
function my_new_wc_order_statuses( $order_statuses ) {
    $order_statuses['wc-status-name'] = _x( 'Status Name', 'Order status', 'woocommerce' );

    return $order_statuses;
}

add_filter( 'wc_order_statuses', 'my_new_wc_order_statuses' );
пробовал прописать в woocommerce.po ; en_EN.po
Код:
#: wp-content/themes/themename/functions.php:383
msgctxt "Order status"
msgid "Status Name"
msgstr "Status Name Translate"
но он не работает
 

searchingman

Гуру
Местный
пробовал прописать в woocommerce.po ; en_EN.po
Код:
#: wp-content/themes/themename/functions.php:383
msgctxt "Order status"
msgid "Status Name"
msgstr "Status Name Translate"
но он не работает
С помощью редактора делали и на выходе получен откомпилированный файл перевода *.mo ?
 
Сверху Снизу