繁体   English   中英

如何在 WordPress 中显示翻译的作者角色名称

[英]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 中执行。 我以为这个问题已经结束了!

这个问题有两种解决方案:

  • 解决方案 1:在前端加载管理部门的 Textdomain:
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' );
           }    }
  • 解决方案2:

用户角色只是几个词,所以我只是制作了这个函数来从一系列翻译中选择角色名称的翻译。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM