2014-10-01 4 views
3

Спасибо за ваше время.Переименование «Почта» на что-то еще

Я хочу, чтобы на панели инструментов WordPress рассматривались сообщения (ванили, а не персонализированные типы сообщений или что-то еще), как обычно, но чтобы заменить слово чем-то другим. Я пробовал плагины, которые утверждают, что делают это, и они заменяют его в некоторых местах, но не на других.

Самое сложное место для изменения было в «просмотре всех сообщений», где слово упрямо отказывается меняться от «Сообщений» в заголовке даже с заменой текста на сайте через плагин.

Каков правильный способ сообщить WordPress, что я хочу назвать сообщения под другим именем?

+0

Мы иногда предоставляем французский экран администратора для наших клиентов, который меняет «Пост» на «Статью». Будет ли создание настраиваемого «перевода», просто изменение «должности» будет приемлемым для вас? – Hobo

+0

Интересно. Два вопроса: 1. Заменяет ли это все экземпляры sitewide на приборной панели? И 2. Заменит ли это пользовательский контент в полях «title» и «description»? Разумеется, у нас не может быть изменен пользовательский контент, это нужно будет только на панели администратора. ---- Мысль об одной другой потенциальной проблеме, если она влияет на текст, введенный администраторами, и они просматривают страницу, которую они написали, а затем повторно сохраняют ее, изменят ли текст там, а также развращают данные публикации? – Puck

+0

Это изменит только метки, а не контент (WordPress не сохраняет ничего по-другому только потому, что администратор на французском языке, например). Например, перевод заменит '__ ('Posts')' [здесь] (https://core.trac.wordpress.org/browser/tags/4.0/src/wp-admin/menu.php#L49) с ваш текст. Но похоже, что ответ Даниэля Кули будет делать то, что вам нужно, поэтому добавление перевода может быть излишним. – Hobo

ответ

8

Поместите это в файл functions.php (очевидно, изменить «Новости Статьи» все, что вы хотите имя после быть):

// Function to change "posts" to "news" in the admin side menu 
function change_post_menu_label() { 
    global $menu; 
    global $submenu; 
    $menu[5][0] = 'News Articles'; 
    $submenu['edit.php'][5][0] = 'News Articles'; 
    $submenu['edit.php'][10][0] = 'Add News Article'; 
    $submenu['edit.php'][16][0] = 'Tags'; 
    echo ''; 
} 
add_action('admin_menu', 'change_post_menu_label'); 
// Function to change post object labels to "news" 
function change_post_object_label() { 
    global $wp_post_types; 
    $labels = &$wp_post_types['post']->labels; 
    $labels->name = 'News Articles'; 
    $labels->singular_name = 'News Article'; 
    $labels->add_new = 'Add News Article'; 
    $labels->add_new_item = 'Add News Article'; 
    $labels->edit_item = 'Edit News Article'; 
    $labels->new_item = 'News Article'; 
    $labels->view_item = 'View News Article'; 
    $labels->search_items = 'Search News Articles'; 
    $labels->not_found = 'No News Articles found'; 
    $labels->not_found_in_trash = 'No News Articles found in Trash'; 
} 
add_action('init', 'change_post_object_label'); 

И если вы беспокоитесь о переводе (на основе замечаний ваш вопрос), просто добавьте соответствующую функцию __('News Articles', 'my-text-domain'); для каждого элемента ...

+0

«$ menu [5] [0] =« Статьи новостей »;' предполагается, что сообщения находятся в позиции по умолчанию 5? Что, если вы изменили позицию? – Amanda

+0

Да ... это предположение. Если вы изменили положение меню, измените значение [5] соответственно. Если вы не знаете, где вы его положили, вы можете сделать «echo»

'; var_dump($menu); echo '
'; ', чтобы посмотреть, в какой позиции он находится! Сделайте то же самое для '$ подменю'. Надеюсь это поможет. –