[英]How can I display translated author role name in WordPress
在functions.php 中使用此函数可以工作,但它会显示slug 名称,例如: administrator
function get_author_role() {
$userauthorid = get_the_author_meta( 'id' );
$user_info = get_userdata($userauthorid );
echo $user_info->roles['name'];
}
我希望它显示翻译后的角色名称。
UPDATE translate_user_role()
:不幸的是,这个函数似乎并不打算在 Wordpress Frontend 中执行。 我以为这个问题已经结束了!
这个问题有两种解决方案:
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] ;
}
在多语言网站上,您可以向此函数添加参数以切换活动语言。 或者使用第一种解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.