Hướng dẫn get all user data wordpress - lấy tất cả dữ liệu người dùng wordpress

Làm cách nào để nhận được danh sách tất cả người dùng có vai trò = 'khách hàng' bao gồm tất cả siêu dữ liệu cho mỗi người dùng, có nghĩa là wp_users + wp_usermeta.

Truy vấn thổi không tạo ra kết quả mong muốn.

$query = "SELECT * FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id ORDER BY ID DESC');  ";
            
$data = $wpdb->get_results($query,ARRAY_A);

Nhưng danh sách đó không chính xác. Nó hiển thị mỗi người dùng X lần tùy thuộc vào số lượng hàng trong wp_usermeta.

Làm thế nào tôi có thể lọc nó? Rằng mỗi người dùng hiển thị cho mỗi bản ghi tất cả người dùng + siêu dữ liệu của mình?

Hướng dẫn get all user data wordpress - lấy tất cả dữ liệu người dùng wordpress

xxx

2211 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

hỏi ngày 29 tháng 6 năm 2016 lúc 12:45Jun 29, 2016 at 12:45

Hướng dẫn get all user data wordpress - lấy tất cả dữ liệu người dùng wordpress

3

Tôi nghĩ rằng bạn nên sử dụng các chức năng WP-API sẽ làm mọi thứ cho bạn.

  • Hàm get_users () sẽ nhận được tất cả dữ liệu người dùng chỉ cần xác định các trường mà bạn yêu cầu.
  • Hàm get_user_meta () sẽ nhận được dữ liệu UserMeta.
 
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user){
        print_r(get_user_meta ( $user->ID));
    }

Đã trả lời ngày 30 tháng 6 năm 2016 lúc 3:45Jun 30, 2016 at 3:45

2

Một cách chính thức hơn một chút để đạt được kết quả tương tự như sau khi thay thế bất kỳ vai trò nào khi cần thiết và mã này giả định rằng bạn đang sử dụng WooC Commerce để biết thêm thông tin chi tiết.

function GetSubscriberUserData()
{
  $DBRecord = array();
  $args = array(
      'role'    => 'Subscriber',
      'orderby' => 'last_name',
      'order'   => 'ASC'
  );
  $users = get_users( $args );
  $i=0;
  foreach ( $users as $user )
  {
    $DBRecord[$i]['role']           = "Subscriber";
    $DBRecord[$i]['WPId']           = $user->ID;
    $DBRecord[$i]['FirstName']      = $user->first_name;
    $DBRecord[$i]['LastName']       = $user->last_name;
    $DBRecord[$i]['RegisteredDate'] = $user->user_registered;
    $DBRecord[$i]['Email']          = $user->user_email;

    $UserData                       = get_user_meta( $user->ID );
    $DBRecord[$i]['Company']        = $UserData['billing_company'][0];
    $DBRecord[$i]['Address']        = $UserData['billing_address_1'][0];
    $DBRecord[$i]['City']           = $UserData['billing_city'][0];
    $DBRecord[$i]['State']          = $UserData['billing_state'][0];
    $DBRecord[$i]['PostCode']       = $UserData['billing_postcode'][0];
    $DBRecord[$i]['Country']        = $UserData['billing_country'][0];
    $DBRecord[$i]['Phone']          = $UserData['billing_phone'][0];
    $i++;
  }
  return $DBRecord;
}

xxx

2211 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

hỏi ngày 29 tháng 6 năm 2016 lúc 12:45Nov 2, 2019 at 0:53

Tôi nghĩ rằng bạn nên sử dụng các chức năng WP-API sẽ làm mọi thứ cho bạn.

Hàm get_users () sẽ nhận được tất cả dữ liệu người dùng chỉ cần xác định các trường mà bạn yêu cầu.

Hàm get_user_meta () sẽ nhận được dữ liệu UserMeta.

  1. Đã trả lời ngày 30 tháng 6 năm 2016 lúc 3:45
  2. Một cách chính thức hơn một chút để đạt được kết quả tương tự như sau khi thay thế bất kỳ vai trò nào khi cần thiết và mã này giả định rằng bạn đang sử dụng WooC Commerce để biết thêm thông tin chi tiết.
  3. Đã trả lời ngày 2 tháng 11 năm 2019 lúc 0:53

Tôi đã tạo ra một plugin đơn giản, miễn phí, được gọi là dữ liệu meta phẳng, làm hỏng dữ liệu meta post và người dùng vào CSV có thể dễ dàng sử dụng hơn để báo cáo và phân tích. Trong quá trình, nó tạo các bảng trong cơ sở dữ liệu của bạn ([:prefix]postmeta_flat[:prefix]usermeta_flat) chứa cùng một thông tin và có thể được sử dụng trong các truy vấn phức tạp hơn. Các bảng này có một hàng trên mỗi bài đăng hoặc người dùng và một cột trên mỗi điểm dữ liệu (meta_key) chứa các giá trị meta (meta_value).

Sau khi cài đặt và kích hoạt plugin (trong WP-Content/Plugin/FLAT TABLE), có thể truy cập thông qua một liên kết trong menu chính của bảng quản trị, được gọi là dữ liệu meta phẳng. Sau đó, bạn có thể nhấp vào nút "Tải xuống dữ liệu meta bài đăng" hoặc "Tải xuống dữ liệu meta của người dùng" để tạo bảng và tải xuống CSV chứa tất cả dữ liệu ở dạng bảng tính.Jun 24, 2020 at 14:39

3

$members = get_users(
    array('role'    => 'company',
        'orderby' => 'ID',
        'order'   => 'ASC'
    )
);
array_map( function($member ){
  $member->usermeta =  array_map(function($data){
    return reset($data);
  }, get_user_meta( $member->ID ) );
  return $member;
}, $members); 

Một vài ghi chú:

Array
(
    [0] => WP_User Object
        (
            [data] => stdClass Object
                (
                    [ID] => 20
                    [user_login] => aastha
                    [user_pass] => $P$BVmRgRiZyZWhMvGszAkquPKX0JjedF1
                    [user_nicename] => aastha
                    [user_email] => 
                    [user_url] => 
                    [user_registered] => 2021-11-29 10:43:21
                    [user_activation_key] => 
                    [user_status] => 0
                    [display_name] => aastha
                    [usermeta] => Array
                        (
                            [nickname] => aastha
                            [first_name] => 
                            [last_name] => 
                            [description] => 
                            [rich_editing] => true
                            [syntax_highlighting] => true
                            [comment_shortcuts] => false
                            [admin_color] => fresh
                            [use_ssl] => 0
                            [show_admin_bar_front] => true
                            [locale] => 
                            [wm_capabilities] => a:1:{s:7:"company";b:1;}
                            [wm_user_level] => 0
                            [name] => btc
                            [type] => 7
                            [status] => active
                            [company_age] => 10
                            [company_member] => 30
                            [address] => indoor
                            [city] => indoor
                            [pin] => 5454
                            [telephone] => 5434
                            [opening_time] => 09:00
                            [closing_time] => 20:00
                            [fax] => gfgf
                            [skull_from] => wednesday
                            [skull_to] => sunday
                            [mobile] => 3987665213
                            [overview] => ghgh
                            [username] => aastha
                            [email] => 
                            [wesite] => http://www.aastha.com
                            [skull_logo] => 
                        )

                )

            [ID] => 20
            [caps] => Array
                (
                    [company] => 1
                )

            [cap_key] => wm_capabilities
            [roles] => Array
                (
                    [0] => company
                )

            [allcaps] => Array
                (
                    [read] => 1
                    [level_0] => 1
                    [company] => 1
                )

            [filter] => 
            [site_id:WP_User:private] => 1
        )
);

xxx

2211 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

hỏi ngày 29 tháng 6 năm 2016 lúc 12:45Dec 4, 2021 at 14:19

Làm cách nào để lấy dữ liệu người dùng trong WordPress?

Đăng nhập vào quản trị viên WordPress của bạn ..
Chuyển đến người dùng> Tất cả người dùng ..
Chọn người dùng và truy cập hồ sơ của anh ấy ..
Nhìn vào URL của trang:.

Làm cách nào để sử dụng meta người dùng trong WordPress?

Thêm hoặc thay đổi dữ liệu meta của người dùng WordPress: update_user_meta ()..
$ user_id: ID của người dùng bị ảnh hưởng ..
$ meta_key: tên của trường meta người dùng bị ảnh hưởng ..
$ meta_value: Giá trị mà trường Meta của người dùng sẽ nhận được điều này có thể là một chuỗi, số nguyên, mảng hoặc bất kỳ loại dữ liệu nào khác tùy thuộc vào nhu cầu của bạn ..

Làm thế nào để tôi tìm thấy siêu dữ liệu trong WordPress?

get_metadata (chuỗi $ meta_type, int $ object_id, chuỗi $ meta_key = '', bool $ đơn = false): hỗn hợp.Lấy giá trị của trường siêu dữ liệu cho loại đối tượng và ID được chỉ định.: mixed. Retrieves the value of a metadata field for the specified object type and ID.

Tại sao WP có bảng Usermeta?

Bảng WP_USERS trong cơ sở dữ liệu người dùng WordPress được thiết kế để chỉ lưu trữ thông tin cơ bản của người dùng.Để lưu trữ dữ liệu người dùng WordPress bổ sung, bảng WP_USERMETA được sử dụng.Trường ID từ bảng người dùng và trường user_id từ bảng này được sử dụng để liên kết bản ghi của cùng một người dùng.In order to store additional WordPress user data, the wp_usermeta table is used. The ID field from the users table and the user_id field from this table are used to link the record of the same user.