ОБНОВЛЕНИЕ translate_user_role()
: К сожалению, похоже, что эта функция не предназначалась для выполнения в интерфейсе Wordpress. Я подумал, , что проблема окончена!
Существует два решения этой проблемы:
- Решение 1. Загрузите текстовый домен администрирования 'в внешний интерфейс:
add_action( 'init', 'load_admin_textdomain_in_front' ) function load_admin_textdomain_in_front() {
if ( ! is_admin() ) {
load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' );
} }
Роли пользователей - это всего лишь несколько слов, поэтому я просто сделал эту функцию, чтобы выбрать перевод имени роли из массива переводов. .
function get_author_info() {
$post_data = get_post_data();
$author_data = get_userdata($post_data->post_author);
$author_roles = $author_data->roles;
$role = $author_data->roles[0];
$rolesfr = array('editor'=>'Éditeur','administrator'=>'Administrateur','author'=>'Auteur','contributor'=>'Contributeur','subscriber'=>'Abonné');
echo $rolesfr[$role] ;
}
На многоязычном веб-сайте вы можете добавить аргумент в эту функцию для переключения на активный язык. Или используйте первое решение.