サポート » 使い方全般 » 権限の表示名取得

  • 解決済 centos64

    (@centos64)


    権限は
    get_the_author_meta('roles',$author)
    で取得できますが
    管理者、投稿者など
    権限の表示名を取得するには、どうしたらよいでしょうか

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは。権限グループ名は

    $role_names = $GLOBALS['wp_roles']->get_names();

    で取得できますが、権限グループ名の翻訳は管理ページ用の翻訳ファイルに含まれています。
    管理ページ以外で権限グループ名を日本語で取得するためにはこの翻訳ファイルを読み込みつつ、translate_user_role() で翻訳する必要があります。

    load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' );
    
    $author_roles     = get_the_author_meta( 'roles' );
    $author_role      = $author_roles[0]; // ここで任意の権限グループを配列から取得します
    $wp_role_names    = $GLOBALS['wp_roles']->get_names(); // すべての権限グループ名を連想配列で取得(英語)
    $author_role_name = translate_user_role( $wp_role_names[$author_role] ); // 翻訳
    
    // var_dump( $wp_role_names, $author_role_name );

    権限グループの数なんて知れていますから、ご自分で配列でも準備して、翻訳された方が早いかもしれません。

    $role_names = array(
        'administrator' => __( 'Administrator', 'my-theme' ),
        // ...
    );
    スレッド開始 centos64

    (@centos64)

    mizube 様
    ありがとうございます!
    全て解決いたしました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「権限の表示名取得」には新たに返信することはできません。