Blog
Lọc dữ liệu với WP_Meta_Query
- Rami Yushuvaev
- ngày 11 tháng 12 năm 2016
WordPress cho phép chúng tôi lọc dữ liệu theo các trường tùy chỉnh. Lớp WP_Meta_Query
được sử dụng để tạo các mệnh đề SQL WHERE
để lọc truy vấn theo trường meta. Bây giờ, sau khi chúng tôi đã công bố Trình tạo WP_Date_Query, động thái tự nhiên tiếp theo là cho phép bạn dễ dàng tạo các truy vấn meta nâng cao bằng Trình tạo WP_Meta_Query mới của chúng tôi
Lọc theo Trường tùy chỉnh
WordPress cho phép bạn lọc các bài đăng dựa trên các thông số bài đăng như ngày xuất bản, tác giả, trạng thái, loại, v.v. Lọc các bài đăng dựa trên tất cả các loại nguyên tắc phân loại Và lọc các bài đăng dựa trên các giá trị mặc định khác. Nhưng điều đó không phải lúc nào cũng đủ và bạn có thể cần thêm một số dữ liệu là dữ liệu của riêng bạn – các trường meta tùy chỉnh của riêng bạn
Các trường tùy chỉnh là các đoạn dữ liệu bổ sung được thêm vào bài đăng chính, chúng được lưu trong một bảng riêng – wp_postmeta
. Điều này cũng áp dụng cho các nhận xét, người dùng và thuật ngữ của mỗi người trong số họ dưới dạng một bảng meta riêng biệt
Khi truy xuất các bài đăng/người dùng/bình luận được lọc theo dữ liệu meta, nó sẽ ảnh hưởng đến hiệu suất khi bạn sử dụng SQL JOIN
. Nhưng trong hầu hết các trường hợp, lợi ích lớn hơn bất lợi. Để giảm tác động đến hiệu suất, bạn không nên sử dụng các câu lệnh SQL của riêng mình mà hãy sử dụng lớp WP_Meta_Query
thực hiện bộ nhớ cache bên trong
Truy xuất dữ liệu đã lọc bằng WP_Query
và các lớp truy vấn được hỗ trợ khác thật dễ dàng. Để lọc với các trường tùy chỉnh, chúng tôi sẽ sử dụng đối số meta_query
. Là nhà phát triển, tất cả những gì bạn phải làm là chuyển một mảng hợp lệ. Phần còn lại sẽ được xử lý bởi lớp WP_Meta_Query
sẽ không trả về dữ liệu, nó sẽ tạo ra một mệnh đề SQL WHERE
để sử dụng trong truy vấn chính
Trình tạo truy vấn meta
Với việc hoàn thành công cụ WP_Date_Query mới nhất của chúng tôi, chúng tôi đã ngay lập tức xây dựng công cụ Meta Query để giúp các nhà phát triển mới và lập trình viên nâng cao tạo các truy vấn meta tùy chỉnh, lưu chúng vào tài khoản của bạn và tích hợp vào các truy vấn khác
Bạn có thể sử dụng Trình tạo để tìm hiểu nội dung truy vấn hoặc sử dụng nó trong quy trình làm việc của mình để tạo truy vấn đơn giản hoặc truy vấn rất phức tạp với nhiều quy tắc
Trình tạo cũng có hỗ trợ dựng sẵn cho các truy vấn lồng nhau, cho phép bạn kết hợp một số truy vấn meta bên trong nhau để truy xuất kết quả rất cụ thể. WordPress thậm chí còn biết cách xử lý các truy vấn lồng nhau cho bạn
ví dụ
Hãy tưởng tượng chúng ta có một trang web thương mại điện tử với hàng ngàn sản phẩm. Giả sử chúng ta chỉ cần lọc các mục màu xanh lam
Bây giờ chúng ta sẽ sử dụng nhiều bộ lọc. Giả sử chúng ta cần lọc các mục theo màu – để chỉ truy xuất các mục màu xanh HOẶC màu đỏ. Chúng ta sẽ cần sử dụng toán tử “OR” compare
Hãy lấy các mặt hàng màu xanh/đỏ đó và thêm thông số giá để hiển thị các mặt hàng dưới 500 USD [loại trường số]. Chúng tôi sẽ sử dụng đoạn mã lồng nhau từ ví dụ trước
Cuối cùng, chúng tôi sẽ kết thúc tất cả vào truy vấn WP_Query
của chúng tôi. Chúng tôi sẽ sử dụng truy vấn meta được tạo ở trên trong truy vấn chung của chúng tôi
Nâng cấp lên GenerateWP Premium Tận hưởng các trình tạo WordPress tốt hơn Nâng cấp ngay
Nguyên tắc tương tự có thể được áp dụng trên WHERE
1. Hãy xem một ví dụ, một nhận xét có loại “đánh giá” và xếp hạng dưới 5 sao
Cuối cùng là WHERE
2. Hãy truy xuất tất cả người dùng từ thành phố Montreal ở Canada
để kết luận
Đây là một lớp rất dễ sử dụng với nhiều khả năng mạnh mẽ cho phép bạn tạo các bộ lọc đơn giản đến rất phức tạp. Tất cả những khả năng đó hiện được tích hợp vào máy phát điện của chúng tôi. Lọc hạnh phúc
Chia sẻ trên facebook
Chia sẽ trên Twitter
Chia sẻ trên Linkedin
Chia sẻ trên reddit
Chia sẻ trên whatsapp
Chia sẻ trên email
Rami Yushuvaev
Tôi là một doanh nhân, một nhà phát triển web và một blogger. Tôi đã đóng góp mã cho mỗi và mọi bản phát hành kể từ WordPress 2. 8. Tôi là GTE tiếng Do Thái chịu trách nhiệm dịch thuật và phát hành phiên bản tiếng Do Thái của WordPress. Người sáng lập GenerateWP. com và một số dự án liên quan đến WordPress khác. Tôi làm việc chủ yếu với các công ty khởi nghiệp và công ty công nghệ cao của Israel, cung cấp các dịch vụ phát triển
6 Bình luận
- Ciaran Micheal Whelan
Chào bạn. Để bộ lọc nhận giá trị dưới 500 đô la, nó phải là
WHERE
3- Rami Yushuvaev
Cảm ơn đã báo cáo. Tôi đã thay thế
WHERE
4 bằngWHERE
5
- Rami Yushuvaev
- Carlos
Cảm ơn bạn. Cái nhìn sâu sắc về WordPress
- Nishit
Xin chào, chúng tôi có thể hiển thị người dùng có nhiều đơn đặt hàng với nhiều khóa meta như bên dưới không
WHERE
6]
],
'số' => $users_per_page,
'bù' => $bù
];$user_query = WP_User_Query mới[ $args ];
- JY
Xin chào Dựa trên ví dụ trên, [màu sắc & giá có vẻ giống như trong cùng một bảng 'sản phẩm'],
Còn nếu màu nằm trong một bảng khác thì sao? - Berat Gashi
Chào bạn,
Tôi đang cố gắng đặt hàng các bài đăng qua jquery ajax nhưng nó không đặt hàng. Phương pháp của tôi là đặt hàng theo trường tùy chỉnh Giá trong trường hợp này nhưng không có vấn đề gì.
Làm cách nào để sử dụng WP_Query trong WordPress?
Cách sử dụng WP_Query .Bắt đầu với Vòng lặp tùy chỉnh. Một trong những cách tốt nhất để biết lệnh gọi WP_Query là thông qua Vòng lặp WordPress. .Tranh luận. Xương sống của các truy vấn tùy chỉnh trong WordPress. .Tham số trong WP_Query. Danh mục, Thẻ và hơn thế nữa. .Sửa đổi các đối tượng với các phương thức và thuộc tínhMetaquery là gì?
Truy vấn meta là bàn làm việc SQL được nhúng tương tự như các công cụ truy vấn SQL hiện có kết nối trực tiếp với Cơ sở dữ liệu MetaMiner để phân tích nhanh, sâu các nội dung BI, chỉ bị giới hạn bởi trí tưởng tượng của SQL . Meta Query có những lợi thế đáng kể so với các công cụ SQL tiêu chuẩn như Toad hoặc Microsoft SQL Server Management Studio. . Meta Query has significant advantages over standard SQL tools like Toad or Mircosoft SQL Server Management Studio.Tại sao nên sử dụng Tax_query trong WordPress?
Lưu ý quan trọng. tax_query lấy một mảng các mảng đối số truy vấn thuế [nó lấy một mảng các mảng]. Cấu trúc này cho phép bạn truy vấn nhiều nguyên tắc phân loại bằng cách sử dụng tham số quan hệ trong mảng đầu tiên [bên ngoài] để mô tả mối quan hệ boolean giữa các mảng phân loạiKhóa meta trong WordPress là gì?
Khóa meta chịu trách nhiệm ảnh hưởng đến trường dữ liệu người dùng trong WordPress để chức năng meta xảy ra một lần .