Wordpress get_users meta_query

'post_type'     =>'post',tìm kiếm theo trường tùy chỉnh cũng như truy vấn các dữ liệu có liên quan đến trường tùy chỉnh. Biết được món này thì bạn không phải lo xử lý các vấn đề khi làm các trang web bất động sản hoặc trang web du lịch

Điều đầu tiên là trường đối tượng bài đăng ACF không lưu trữ tên của bài đăng liên quan. Nó lưu ID bài đăng của bài đăng đó. Vì vậy, nếu bạn đang tìm kiếm trường đối tượng bài đăng, bạn cần sử dụng ID bài đăng chứ không phải tên

Thứ hai, bởi vì bạn đã đặt trường đối tượng bài đăng để cho phép nhiều lựa chọn, ACF lưu trữ các lựa chọn đó dưới dạng một mảng được tuần tự hóa trong một hàng của cơ sở dữ liệu. Mảng này không thể được tìm kiếm giống như trường tùy chỉnh WP tiêu chuẩn

https. //www. trường tùy chỉnh nâng cao. com/resources/querying-relationship-fields/


$meta_query = array['relation' => 'OR'];
foreach [$companies as $post_id] {
  $meta_query[
    'key' => 'company',
    'value' => '"'.$post_id.'"'.
    'compare' => 'LIKE'
  }
}
$args['meta_query'] = $meta_query;

WordPress có chức năng meta người dùng mạnh mẽ cho phép các nhà phát triển và plugin lưu trữ siêu dữ liệu bổ sung về người dùng đã đăng ký trong cơ sở dữ liệu. Thông tin meta này có thể là tất cả các loại dữ liệu và thuộc tính khác nhau có thể được sử dụng cho các mục đích khác nhau. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng truy vấn meta người dùng WordPress để truy xuất và phân đoạn người dùng WordPress của bạn dựa trên khóa meta cụ thể với giá trị dữ liệu nhất định

Đối với điều này, chúng tôi sẽ sử dụng một lớp PHP để tìm kiếm cơ sở dữ liệu trực tiếp truy vấn meta người dùng WordPress, WP_User_Query . Mặc dù ban đầu nó có vẻ phức tạp, nhưng một khi bạn biết cách thức hoạt động của nó thì nó có thể là một công cụ rất mạnh mẽ. Và đó là mục tiêu của chúng tôi hôm nay, để nắm vững các yếu tố cơ bản của truy vấn meta người dùng WordPress để tìm kiếm dữ liệu meta người dùng tùy chỉnh.

Và mặc dù con đường mã hóa rất tuyệt và điều quan trọng là phải biết cách mọi thứ hoạt động ở chế độ nền, chúng tôi cũng sẽ khám phá một số tùy chọn khác. Có thể sử dụng các plugin để đơn giản hóa rất nhiều tác vụ tìm kiếm của người dùng, nó hoạt động giống như truy vấn meta WordPress, nhưng đó là một cách tiếp cận dễ dàng hơn nhiều

Sử dụng các trường tùy chỉnh trong Truy vấn người dùng WordPress

Để làm theo, chúng tôi khuyên bạn nên tạo một chủ đề con. Truy vấn người dùng từ cơ sở dữ liệu WordPress hoạt động giống như truy vấn bài đăng. Bây giờ hãy làm quen với lớp WP_User_Query. Hoạt động bên trong của nó một lần nữa rất giống với truy vấn bài đăng WordPress, WP_Query. Đây là cú pháp cơ bản của nó

1

2

// cách sử dụng lớp WP_User_Query đơn giản nhất có thể

$user_query = new WP_User_Query [ $args ];

Bây giờ là lúc tập hợp tất cả người dùng đã đặt trường người dùng tùy chỉnh. Do đó, bạn tìm thấy tất cả người dùng có giá trị đó, giá trị này có thể được đặt bởi một plugin khác hoặc chính người dùng đó

1

2

3

4

5

6

7

8

// Rất nhiều đối số có thể được thông qua

// Ở đây chúng tôi có tất cả người dùng với nghề nghiệp "nhà phát triển"

$args   = mảng [

    'meta_key' = > 'ococation' 'developer' 'ococation' 'developer' '='’ / ‘>=’ / ‘ mảng[

        'quan hệ' = > 'VÀ' 'occupation',

                        'giá trị'   = > 'developer',

                         'so sánh' = > '=' 'billing_country',

                        'giá trị'   = > 'United States',

                         'so sánh' = > '=' 'experience',,

                        'giá trị'   = > '5',

                         'so sánh' = > '>=' // greater than or equal to 5

             ]

     ]

];

 

$user_query = new WP_User_Query [ $args ];

Từ đoạn mã trên, chúng ta có thể thấy cách kết hợp các tiêu chí tìm kiếm khác nhau. Các mối quan hệ có thể chúng ta có thể sử dụng là AND và OR. Nếu chúng tôi đặt nó thành VÀ, kết quả của chúng tôi sẽ khớp với TẤT CẢ các quy tắc của chúng tôi. Nếu chúng tôi đặt HOẶC kết quả của chúng tôi là bất kỳ mục nào phù hợp với BẤT KỲ quy tắc nào của chúng tôi

Hơn nữa, chúng ta có thể sử dụng một số tham số “tối nghĩa” hơn để có kết quả tuyệt vời trong tìm kiếm truy vấn meta WordPress của mình. Hãy kiểm tra lại ví dụ trước. Ở đó, chúng tôi tìm kiếm người dùng có nghề nghiệp "Nhà phát triển". Nhưng nếu chúng tôi có một người dùng là “Nhà phát triển PHP”, kết quả là chúng tôi sẽ không thấy anh ấy. Trong trường hợp này, chúng ta có thể sử dụng toán tử LIKE .

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

$args = mảng [

    'meta_query' = > mảng[

        'quan hệ' = > 'VÀ' 'occupation',

                        'giá trị'   = > 'developer',

                         'so sánh' = > 'THÍCH' 'billing_country',

                        'giá trị'   = > 'United States',

                         'so sánh' = > '=' 'experience',,

                        'giá trị'   = > '5',

                         'so sánh' = > '>='

             ]

     ]

];

 

$user_query = new WP_User_Query [ $args ];

Ngoài ra, chúng tôi có thể muốn kiểm tra phạm vi giá trị. Giả sử rằng trong các trường người dùng tùy chỉnh WordPress của chúng tôi, chúng tôi có tỷ lệ hàng giờ cho các nhà phát triển. Nếu chúng tôi muốn tìm kiếm một giá trị nằm trong phạm vi ngân sách của mình, chúng tôi có thể thử so sánh BETWEEN .

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

$args = mảng [

    'meta_query' = > mảng[

        'quan hệ' = > 'VÀ' 'occupation',

                        'giá trị'   = > 'developer',

                         'so sánh' = > 'THÍCH' 'rate',

                        'giá trị'   = > array[ 30, 60 ],

                'type'     = > 'numeric',

                        'so sánh' = > 'GIỮA' 'age' 'meta_value' 'DESC' mảng[ 'display_name' ]

         ]

     ];

    

    //đang xử lý WP_USER_QUERY

    $users = $query - >get_results[];

    

    //chúng ta cần xóa hành động này để nó không gây rối với các truy vấn còn lại của người dùng

    remove_action [ 'pre_user_query' , 'add_my_custom_queries' ];

    

    //hãy xuất người dùng của chúng ta ngay bây giờ

    print_r [ $users ];

    

}

 

function add_my_custom_queries [ $query ] {

    toàn cầu $wpdb ;

    

    //hãy thêm billing_coutry vào các trường meta trong truy vấn của chúng ta

    $query - >query_fields .= ', billing_country. meta_value' ;

 

    //bây giờ, chúng tôi thêm liên kết trái để thực sự thu thập quốc gia thanh toán cho người dùng của chúng tôi

    $query - >query_from .= " THAM GIA TRÁI $wpdb->usermeta billing_country BẬT $wpdb->users. ID = " .

        "billing_country. user_id và billing_country. meta_key = 'billing_country'" ;

    

   //và bước cuối cùng là sắp xếp thứ tự cho người dùng dựa trên giá trị quốc gia thanh toán, nếu có

    $query - >query_orderby = ' ORDER BY billing_country.meta_value DESC' ;

}

 

// chỉ là một cách để xuất kết quả của chúng ta, có thể ở các hook khác hoặc một lệnh gọi trực tiếp đến hàm

add_action [ 'init' , 'load_users_with_meta' ];

Mã này sẽ tải tất cả người dùng với tên hiển thị của họ. Xin lưu ý rằng truy vấn chính không bao gồm bất kỳ thao tác nào để sắp xếp người dùng theo trường meta. Sau đó, WordPress sẽ áp dụng truy vấn SQL bổ sung của chúng tôi. Truy vấn đó sẽ tải các trường tùy chỉnh cho người dùng của chúng tôi và sắp xếp chúng dựa trên các giá trị. Trong trường hợp của chúng tôi, chúng tôi đã sử dụng trường tùy chỉnh “billing_country”, nhưng bạn có thể sử dụng bất kỳ trường nào bạn muốn

Thêm và cập nhật giá trị meta của người dùng

Việc thêm và cập nhật meta người dùng trong WordPress hoạt động giống như với hệ thống meta bài đăng. Có hai chức năng chính mà chúng ta có thể sử dụng cho việc này. update_user_meta []   và get_user_meta . Hàm  . The update_user_meta []   hoạt động dựa trên ID người dùng và nếu trường meta cho người dùng không tồn tại, nó sẽ .

Bây giờ hãy xem một cách tiếp cận dễ dàng hơn nhiều

Truy vấn người dùng dựa trên các trường meta tùy chỉnh với Thông tin chi tiết về người dùng

Có thể sử dụng Thông tin chi tiết về người dùng để tìm kiếm và sắp xếp người dùng dựa trên các trường meta người dùng của họ. Bằng cách này, bạn có thể khắc phục những hạn chế của cách tiếp cận chỉ viết mã. Ví dụ: nếu bạn chỉ muốn thay đổi một tham số tìm kiếm, thì việc thực hiện điều đó trong mã của bạn sẽ khó hơn nhiều

Yếu tố đầu tiên của tìm kiếm của chúng tôi là các trường tùy chỉnh của chúng tôi. Đảm bảo rằng bạn đã ánh xạ các trường người dùng tùy chỉnh của mình và bạn có thể sử dụng chúng. Hãy hồi sinh các tìm kiếm truy vấn meta WordPress của chúng tôi chỉ bằng một vài cú nhấp chuột

Kịch bản đầu tiên của chúng tôi chỉ đơn giản là lọc người dùng dựa trên nghề nghiệp của họ. Điều này có thể được thực hiện bằng cách sử dụng bộ lọc Nghề nghiệp. Bạn có thể sử dụng các biến thể của trường đó để tìm kiếm “chứa”, “bắt đầu bằng”, “kết thúc bằng” và các từ khác

Khi nói đến việc kết hợp các bộ lọc, bạn có thể sử dụng chúng với toán tử AND trong Thông tin chi tiết về người dùng. Vì vậy, để tìm được những developer đến từ Mỹ với hơn 5 năm kinh nghiệm, bạn có thể thử điều này

Ngoài ra, chúng tôi có thể thêm ranh giới trên và dưới cho tìm kiếm phạm vi. Giống như những gì chúng tôi đã làm để tìm nhà phát triển và mức lương theo giờ của họ

Hơn nữa, có thể xuất người dùng của chúng tôi, trong trường hợp chúng tôi muốn liên hệ với họ. Bạn chỉ cần nhấp vào nút xuất

Bây giờ là lúc cho một trong những thử thách khó khăn nhất mà chúng ta thấy ngày hôm nay. đặt hàng. Trái ngược với rất nhiều mã tùy chỉnh, bạn chỉ cần nhấp vào cột bạn muốn đặt hàng theo. Điều đó sẽ sắp xếp tất cả người dùng dựa trên tiêu chí đó, kể cả những người dùng không có tiêu chí đó

Thêm và cập nhật dữ liệu meta người dùng tùy chỉnh

Tính năng Trường tùy chỉnh của Thông tin chi tiết về người dùng cho phép bạn tạo và cập nhật thông tin meta người dùng của riêng mình mà không cần viết mã. Nó cung cấp một giao diện liền mạch để đăng ký các trường tùy chỉnh và cập nhật dữ liệu trường cho từng người dùng. Ngoài ra, dữ liệu trường tùy chỉnh được tự động thêm vào bộ lọc Thông tin chi tiết về người dùng, vì vậy bạn có thể lọc người dùng WordPress theo dữ liệu trường tùy chỉnh của mình

Bạn có thể đăng ký các trường meta người dùng tùy chỉnh trong phần Trường tùy chỉnh của Thông tin chi tiết về người dùng

Sau khi các trường tùy chỉnh được đăng ký, bạn có thể xem trước và cập nhật dữ liệu cho từng người dùng trong phần hồ sơ người dùng

Bạn có thể chỉnh sửa từng dữ liệu trường tùy chỉnh bằng cách nhấp vào biểu tượng Chỉnh sửa và tùy thuộc vào loại dữ liệu, bạn sẽ có tùy chọn thêm văn bản, số, ngày hoặc chọn từ một trường đã chọn

Chủ Đề