サポート » 使い方全般 » ユーザーのnicknameとuser_nicenameについて

  • 解決済 yuzunon

    (@yuzunon)


    WP_User_Queryでユーザー一覧を表示しています。
    そのユーザー一覧をニックネームでソートしているのですが、思い通りの並び順にならなくて困っています。

    'order' => 'ASC',
    'orderby' => 'user_nicename'

    ↑こちらで設定していますが、ニックネームを変更しても並び順が変更されません。

    例えば、あるユーザーのニックネームが「aaa」だったものを「zaaa」に変更すると並び順は一番最後になるはずですが、並び順は変わらず一番最初のままです。

    それで、get_the_author_metaでnicknameとuser_nicenameを確認すると
    nickname:zaaa
    user_nicename:aaa
    という感じでニックネームが2種類になっていました。

    では、「’orderby’ => ‘nickname’」にすれば良いのかと思って試してみましたが並び順は変更されませんでした。

    CodexのWP User Queryのorderbyに「’nicename’ / ‘user_nicename’ – ユーザーニックネームの順。」とあるので、nicknameではなく「’orderby’ => ‘nicename’」にしても変わらず…

    ニックネームの扱いについて混乱してきました…

    「nickname」に入っているデータでソートするにはどうすれば良いのでしょうか?

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんにちは

    下記のパラメーターではどうでしょうか。

    $user_query = new WP_User_Query( array(
    	'order' => 'ASC',
    	'orderby' => 'nickname',
    	'meta_key' => 'nickname',
    ) );

    ニックネーム関連の項目名は、user_nicename や nicename、nickname など分かりづらいんですよね。

    • この返信は6年、 11ヶ月前にishitakaが編集しました。理由: 誤記
    • この返信は6年、 11ヶ月前にishitakaが編集しました。
    トピック投稿者 yuzunon

    (@yuzunon)

    ishitakaさん、ご返答ありがとうございます。

    「’meta_key’ => ‘nickname’」を追加するとソート出来ました!
    助かりました!

    今後の為に確認なのですが、
    1.管理画面でニックネームを変更してもuser_nicenameやnicenameは変更されない
    2.ニックネームとして説明されているが、nicknameとuser_nicenameやnicenameはそれぞれ別もの
    3.nicknameはmeta_keyにも格納される
    ということですか?

    nickname はプロフィール ページに表示されるニックネームですね。
    user_nicename は URL に使用されているようです。デフォルトはユーザー名と同じようです。
    nicename についてはよく分かりませんでした。

    トピック投稿者 yuzunon

    (@yuzunon)

    ishitakaさん、ご説明ありがとうございます。

    ・user_nicenameはURLに使用されるからユーザー名のように初期値から変更出来ない。
    ・ニックネームを変更した場合はnicknameに格納される。
    という感じですかね。

    同じニックネームという説明だけど用途が違うんですね。

    ishitakaさん、今回はありがとうございました。
    大変助かりました。

    取りあえず、問題は解決出来たので解決済みとさせていただきます。

    @yuzunon さん

    CodexのWP User Queryのorderbyに「’nicename’ / ‘user_nicename’ – ユーザーニックネームの順。」とあるので、nicknameではなく「’orderby’ => ‘nicename’」にしても変わらず…

    ご指摘ありがとうございます。
    原文(英語)は「Order by user nicename」なので、誤訳ですね。
    https://codex.wordpress.org/Class_Reference/WP_User_Query#Order_.26_Orderby_Parameters
    後ほど Codex日本語版 を修正します。

    トピック投稿者 yuzunon

    (@yuzunon)

    gblsmさん、ご返信ありがとうございます。

    Codexの方は誤訳だったのですね。
    お知らせ頂きありがとうございます。

    ということは、nicename、user_nicenameは本来ニックネームを指すものでは無いということですね。
    user_nicenameはニックネームだと説明しているサイトがいくつかあったので、user_nicenameはニックネームだと思っていました…

    もやもやしていた部分がスッキリしました。
    ありがとうございました。

    余談ですが、管理画面の「ユーザーの編集」(プロフィール)で設定できる項目には、ニックネームの他にも meta_key で指定してソートできるものがあります(ソートに使いそうにないものが多いですが)。これは get_user_meta() で取得できる項目でもあります。

    • ビジュアルリッチエディターを使用しない: rich_editing
    • 管理画面の配色: admin_color
    • コメントモデレーション用のキーボードショートカットを有効にする: comment_shortcuts
    • サイトを見るときにツールバーを表示する: show_admin_bar_front
    • 言語: locale
    • 名: first_name
    • 姓: last_name
    • ニックネーム: nickname
    • プロフィール情報: description
7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「ユーザーのnicknameとuser_nicenameについて」には新たに返信することはできません。