• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Названия пунктов меню в админке

espirit

Постоялец
Регистрация
8 Окт 2014
Сообщения
120
Реакции
13
Доброго времени суток форум!
Надо поменять в админке пункт меню "записи" на "статьи", но должно это быть на трех языках. ("posts" на "articles"). На сайте используется плагин qTranslate и Admin Menu Editor, но данный плагин работает только для одного языка, после того, как я ввожу название пункта меню, оно присваивается всем языкам.

WordPress Версия 4.7.2

Спасибо
 
Последнее редактирование:
Я не работал с Admin Menu Editor, но могу предположить, что можно скормить ему в качестве названия строку вида

Код:
[:ru]Статьи[:en]Articles[:]

Такой формат можно использовать везде, где пользуете qTranslate, только, конечно, локали свои поставьте
 
Я не работал с Admin Menu Editor, но могу предположить, что можно скормить ему в качестве названия строку вида

Код:
[:ru]Статьи[:en]Articles[:]

Такой формат можно использовать везде, где пользуете qTranslate, только, конечно, локали свои поставьте

Это уже пробовал, не кушает :)

Наткнулся на плагин под названием Loco Translate, поработало на всех языках, кроме английского
 
Тогда стоит посмотреть в сторону фильтров для админ меню

Читал о фильтрах админ меню, но не смог найти информацию для мультиязычного сайта (необходимо внести изменения на трех языках). Сталкивались ли Вы с подобной задачей ?
 
Сталкивались ли Вы с подобной задачей ?
Именно в таком варианте - нет

Я себе это представляю так:
- ловим фильтром сформированное меню
- находим нужный пункт меню
- заменяем якорь ссылки на нужный

А на нужный заменяем по условию:
- получаем текущую локаль админки
- устанавливаем значение в зависимости от локали (хоть захардкодить через какой-нибудь switch ... case, хоть красиво сделать, смысл в принципе один)

Ну и самый запасной, но рабочий вариант
- скрываем вообще посты из меню
- создаем свой тип записей, называем как нужно
- прикручиваем к нему таксономии 'tag' и 'category'

Можно еще подумать в сторону стандартного перевода WordPress, т.к. сама строка хранится именно в нем (.po/.mo файлы). Я не интересовался этим вопросом, просто продумайте, чтобы перевод не затерся и желательно мог обновляться.
 
Частично решил задачу через function.php, на трех языках подхватываются только заголовки в самом админ баре (рис 1).
Для кнопок данная функция отображается не корректно (рис 2).
Так же, в названии каждой статьи, подхватывается только английский текст вне зависимости от выбранного языка (рис 3).

1. Для просмотра ссылки Войди или Зарегистрируйся
2. Для просмотра ссылки Войди или Зарегистрируйся
3. Для просмотра ссылки Войди или Зарегистрируйся

Код из файла

Как я понимаю, с функцией revcon_change_post_label мультиязычность работает как надо, а вот с
revcon_change_post_object и есть проблема

PHP:
function revcon_change_post_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $submenu['edit.php'][5][0] = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $submenu['edit.php'][10][0] = '[:en]Add Articles[:ru]Добавить Статью[:ka]სტატიის დამატება[:]';
    $submenu['edit.php'][16][0] = '[:en]AKeywords[:ru]Ключевые слова [:ka]საკვანძო სიტყვები[:]';
}
function revcon_change_post_object() {
    global $wp_post_types;
    $labels = &$wp_post_types['post']->labels;
    $labels->name = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $labels->singular_name = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $labels->add_new = '[:en]Add New[:ru]Добавить новую[:ka]ახლის დამატება[:]';
    $labels->add_new_item = '[:en]Add Article[:ru]Добавить статью[:ka]სტატიის დამატება[:]';
    $labels->edit_item = '[:en]Edit Article[:ru]Изменить статью[:ka]სტატიის მართვა[:]';
    $labels->new_item = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $labels->view_item = '[:en]View Articles[:ru]Просмотреть[:ka]ნახვა[:]';
    $labels->search_items = '[:en]Search Articles[:ru]Поиск статей[:ka]სტატიების ძიება[:]';
    $labels->not_found = '[:en]No Articles found[:ru]Статьи не найдены[:ka]სტატია ვერ მოიძებნა[:]';
    $labels->not_found_in_trash = '[:en]No Articles found in Trash[:ru]В корзине Статьи не найдены[:ka]სტატია ვერ მოიძებნა[:]';
    $labels->all_items = '[:en]All Articles[:ru]Все статьи[:ka]ყველა სტატია[:]';
    $labels->menu_name = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
    $labels->name_admin_bar = '[:en]Articles[:ru]Статьи[:ka]სტატიები[:]';
}
add_action( 'admin_menu', 'revcon_change_post_label' );
add_action( 'init', 'revcon_change_post_object' );
 
В архиве две темы sparkling и дочерняя тема customtheme.

Функции выводятся в конце файла /themes/sparkling/functions.php
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Назад
Сверху