Tôi muốn tạo một lớp con WP_Postvà thêm một số "chức năng mô hình" vào nó. Làm cách nào tôi có thể buộc WP tạo các đối tượng của lớp con đó thay vì chính WP_Post, khi tôi truy vấn loại bài đăng tùy chỉnh của mình?
Thí dụ:
Giả sử tôi có hai loại bài tùy chỉnh: Bookvà Review. Mỗi cuốn sách có thể có nhiều đánh giá. Trên cuốn sách của tôi, tôi muốn một phương pháp tổng hợp tất cả các đánh giá của nó. Tôi định nghĩa lớp sau:
class Book extends WP_Post
{
public function reviewsSummary()
{
// Retrieve all reviews for $this book
// Sum up their ratings
// Return that sum
}
}
Có cách nào, ví dụ như khi gọi register_post_type(), để buộc WordPress chuyển tất cả các bài đăng thuộc loại "sách" vào Booklớp của tôi WP_Postkhông?
Có thể trông giống như thế này:
register_post_type('book', [
…,
'class' => Acme\Models\Book::class
]);
WP_Posthiếm khi cần trực tiếp trong trường hợp bạn không phải dựa vào kiểm tra đối với một loại cụ thể.