web-dev-qa-db-ja.com

バックエンドの登録からカスタムユーザーメタを表示するにはどうすればいいですか?

私はいくつかのカスタムフィールドを追加するためにWordPress登録フォームのフックを使用することを検討しています: https://codex.wordpress.org/Customizing_the_Registration_Form

私の質問は、可能ならば、バックエンドのUsers> All Usersにこれらのカスタムフィールドの一部を表示する方法を教えてください。たとえば、「郵便番号」と「住所」のフィールドがある場合、このデータをバックエンドにどのように表示しますか?ありがとう。

5
gstricklind

実際、私はこれをもっと前向きで単純なものにしました。

//add columns to User panel list page
function add_user_columns($column) {
    $column['address'] = 'Street Address';
    $column['zipcode'] = 'Zip Code';

    return $column;
}
add_filter( 'manage_users_columns', 'add_user_columns' );

//add the data
function add_user_column_data( $val, $column_name, $user_id ) {
    $user = get_userdata($user_id);

    switch ($column_name) {
        case 'address' :
            return $user->address;
            break;
        default:
    }
    return;
}
add_filter( 'manage_users_custom_column', 'add_user_column_data', 10, 3 );

カスタムカラム用のフックの詳細については、こちらを参照してください。 http://tareq.wedevs.com/2011/07/add-your-custom-columns-to-wordpress-admin-panel-tables/ /

6
gstricklind

ユーザーのメタデータを[ユーザー]ページに表示するには、フィルタmanage_users_custom_columnmanage_users_columnsが必要です。 ユーザーパネルの並べ替え可能なカスタム列(users.php)

User/Profileページにフィールドを追加するには、次のように入力します( 登録フォームのチェックボックス から)。

// PROFILE
add_action( 'show_user_profile', 'user_field_wpse_87261' );
add_action( 'personal_options_update', 'save_profile_fields_87261' );

// USER EDIT
add_action( 'edit_user_profile', 'user_field_wpse_87261' );
add_action( 'edit_user_profile_update', 'save_profile_fields_87261' );
2
brasofilo