Intereting Posts
WP_Query Pagination Как включить персонализированную мета-запись в поиске без вызова каждой клавиши? Отключить загрузку Thumbnail On Mobile Как подготовить get_date () для SimplePie_Item для l10n? Как добавить пользовательские поля в пользовательский тип сообщения? Экземпляр, не вставляющий данные для виджета Отображение иерархических подтерм пользовательской таксономии на основе глубины Как правильно изменить количество столбцов в двадцать четвертой детской теме? Как использовать функцию copy () и вставить файл в каталог / wp-content / themes Как получить содержимое пользовательского типа сообщений через идентификатор сообщения в wordpress add_menu_page включает в себя php-страницу из каталога тем Формат сообщения по умолчанию Различная ширина столбца в 2 строках с бутстрапом и пользовательскими типами сообщений – нужны разные классы Проблема с маржой в меню управления? Есть ли способ предотвратить изменение Редактором моего HTML

Изменить формулировку пункта меню администратора?

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

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

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

Solutions Collecting From Web of "Изменить формулировку пункта меню администратора?"

Внутри папки плагина проверьте файл: 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, ) ); 

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

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

Попросите разработчиков подключаемых модулей добавить крючок для фильтрации ярлыка

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

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

Способ 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; } 

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

Хотя ответ Стивена – отличный способ работать с текущей ситуацией, более чистое решение будет существовать, если разработчики плагинов сделают простое изменение.


Действия разработчиков плагинов:

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

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

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

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


Действие, которое должен выполнить пользователь плагина:

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

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

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