web-dev-qa-db-ja.com

ユーザーの役割に応じて[マイクロプロファイル]ページのさまざまなフィールド

そのため、current_user_canを使用して、現在ログインしているユーザーのロールを確認できます。しかし、私がやりたいことは、これらの異なるフィールドをサイト管理者に見せることです。

そのため、たとえばコントリビュータロールには、サブスクライバとは異なるカスタムフィールドがあります。各役割にはそれぞれの相対フィールドが表示されますが、管理者には、コントリビュータプロファイルページとサブスクライバプロファイルページのすべてのフィールドのリスト全体が表示されます。

管理者がユーザープロファイルページの特定のフィールドのみを表示できるようにする方法はありますか?

私はこれがあなたにとって意味があることを願っています!

前もって感謝します。

3
Fraggy

Functions.phpそれが合法的なWP有効なコードである必要があります:)これはうまくいくはずです、もちろんあなたはあなたの役割名を入れ替えなければなりません。

パフォーマンス向上のために更新されました:

add_action( 'show_user_profile', 'user_fields_for_admin', 10);

add_action( 'edit_user_profile', 'user_fields_for_admin', 10);

function user_fields_for_admin( $user ){

 switch ($user->roles[0]) {
  case 'SOME ROLE':
    echo '<b>This is the role specific fields</b>';
    echo 'fields....';
    break;
  case 'SOME ANOTHER ROLE':
    echo '<b>This is the role specific fields</b>';
    echo 'fields....';
    break;

 }

 } 
4
Tommixoft