Формулировка изменения элемента меню администратора?

Я использую сменный Jigoshop, и я хотел бы изменить формулировку меню администратора к чему-то другому, чем "продукты":

enter image description here

Как я могу сделать это? Каким файлам нужно редактирование?

1
06.06.2012, 17:24
4 ответа

В сменной папке проверяют на Файл: номер Строки jigoshop_taxonomy.php: 120

Вы будете видеть

register_post_type( "product",
    array(
        'labels' => array(
            'name'              => __( 'Products', 'jigoshop' ),
            'singular_name'     => __( 'Product', 'jigoshop' ),
            'all_items'         => __( 'All Products', 'jigoshop' ),
            'add_new'           => __( 'Add Product', 'jigoshop' ),
            'add_new_item'      => __( 'Add New Product', 'jigoshop' ),
            'edit'              => __( 'Edit', 'jigoshop' ),
            'edit_item'         => __( 'Edit Product', 'jigoshop' ),
            'new_item'          => __( 'New Product', 'jigoshop' ),
            'view'              => __( 'View Product', 'jigoshop' ),
            'view_item'         => __( 'View Product', 'jigoshop' ),
            'search_items'      => __( 'Search Products', 'jigoshop' ),
            'not_found'         => __( 'No Products found', 'jigoshop' ),
            'not_found_in_trash'=> __( 'No Products found in trash', 'jigoshop' ),
            'parent'            => __( 'Parent Product', 'jigoshop' )
        ),
        'description'        => __( 'This is where you can add new products to your store.', 'jigoshop' ),
        'public'             => true,
        'show_ui'            => true,
        'capability_type'    => 'post',
        'publicly_queryable' => true,
        'exclude_from_search'=> false,
        'hierarchical'       => false, // Hierarchial causes a memory leak http://core.trac.wordpress.org/ticket/15459
        'rewrite'            => array( 'slug'=> $product_base, 'with_front'=> false, 'feeds'=> $base_slug ),
        'query_var'          => true,
        'supports'           => array( 'title', 'editor', 'thumbnail', 'comments', 'excerpt',/*, 'page-attributes'*/ ),
        'has_archive'        => $base_slug,
        'show_in_nav_menus'  => false,
    )
);

Обновите его по мере необходимости.

-3
19.02.2020, 22:44
  • 1
    Отметьте: редактирование сменных файлов непосредственно не рекомендуется. Изменения потеряны во время сменного обновления. –  Geert 06.06.2012, 17:58
  • 2
    @Geert благодарит за примечание. Вы могли переименовать "Сменное Имя" для предотвращения такой потери. Однако Вы собираетесь потерять новые возможности, если Вы делаете так. –  tamilsweet 06.06.2012, 18:05
  • 3
    , Обеспечивающем пользовательский перевод для "продуктов" путем загрузки дополнительного mo-файла, было бы лучшее решение, но он обновит "продукты" везде всюду по магазину. номер –  Geert 06.06.2012, 18:12
  • 4
    "Однако Вы собираетесь потерять новые возможности, если Вы делаете так". Если Вы не переименовываете (или изменяете номер версии), плагин, Вы собираетесь потерять свою собственную "новую возможность". Если Вы предлагаете, чтобы это не должно было быть сделано ни один, который "решение" не является ни хорошим, ни постоянным. При прикреплении версии, это является только не хорошим, но по крайней мере постоянным. @Geert полностью прямо здесь.-1 –  Johannes Pille 06.06.2012, 20:52

Как было примечание Geert, Вы не должны редактировать плагины: изменения будут переопределены с обновлением (..., и действительно необходимо совершенствовать плагины...). Лучшая вещь сделать...

Попросите, чтобы сменные разработчики добавили рычаг для фильтрации маркировки

На данный момент однако можно сделать одну из двух вещей:

  • Используйте рычаг для того, когда тип сообщения будет зарегистрирован для обновления текстового объекта сообщения
  • Используйте в своих интересах факт, маркировка переводима

Метод 1:

add_action('registered_post_type','wpse54367_alter_post_type',10,2);

function wpse54367_alter_post_type($post_type, $args){
     if( $post_type != 'product' )
         return;

     //Get labels and update them 
     $labels = get_post_type_labels( get_post_type_object( $post_type ) );
     $labels->name = 'Some things';
     $labels->singular_name= 'Some thing';

     //update args
     $args->labels = $labels;
     $args->label = $labels->name;

     //update post type
     global $wp_post_types;
     $wp_post_types[$post_type] = $args;
}

Метод 2:

так как маркировка 'переводима', можно использовать gettext фильтр.

add_filter( 'gettext', '54367_change_label', 10, 2 );

function wpse51861_change_help_text( $translation, $text ) {

if ( $text == 'Products' )
    return __('Something else','jigoshop');

return $translation;
}
7
19.02.2020, 22:44
  • 1
    +1 для рычагов. Использую фильтр gettext тут и там также - не, самое чистое, но хороший иметь для простого текста UI фиксирует. @Teamworksdesign, это - безусловно лучший ответ и должно быть отмечено как корректное, по моему скромному мнению. –  Johannes Pille 06.06.2012, 20:46

Можно использовать Редактора Меню администратора плагин.

1
19.02.2020, 22:44
  • 1
    D'oh, я на самом деле имел тот плагин целую вечность, но не знал, что Вы могли переименовать вещи с ним!! –  Rob 06.06.2012, 18:28

В то время как ответ Stephen является отличным способом работать с текущей ситуацией, более чистое решение существовало бы, если бы сменные разработчики внесли простое изменение.


Действие, которое будет взято сменными разработчиками:

В первую очередь, при регистрации типа сообщения необходимо установить menu_name маркировка. Эта маркировка конкретно используется для меню; если это не установило name маркировка используется по умолчанию.

При установке menu_name маркировка, _x() функция перевода должна использоваться. Тем путем переводчики могут предоставить определенный перевод только для названия меню. Иначе перевод для 'продуктов' относился бы к нормальному name маркировка также.

register_post_type('product', array(
    'labels' => array(
        'name'      => __( 'Products', 'jigoshop' ),
        'menu_name' => _x( 'Products', 'Admin menu name', 'jigoshop' ),
        // ...

Обновление: Я открыл запрос получения по запросу на GitHub для этих изменений в WooCommerce. Код Jigoshop, вероятно, очень похож.


Действие, которое будет взято сменным пользователем:

Загрузите пользовательский mo-файл перевода определенным переводом для строки названия меню. В Вашем почтовом файле запись была бы похожа на это:

msgctxt "Admin menu name"
msgid "Products"
msgstr "My Productzz"

Для загрузки пользовательского файла перевода, можно сцепиться в load_textdomain() функция. Хорошо сложенный плагин также позволил бы Вам отбрасывать пользовательские файлы перевода в wp-content/languages/{plugin_name}/ каталог. WooCommerce позволяет это, я не уверен в Jigoshop.

0
19.02.2020, 22:44

Теги

Похожие вопросы