Như các bạn cũng đã biết wordpress được viết bằng php với cơ sở dữ liệu là mysql. Chúng ta thường đi tìm hiểu sâu về phẩn code của wordpress như lập trình theme wordpress, lập trình plugin… Hoặc một số phần tùy biến custom field, custom post type… Mà không quan tâm nhiều đến phần thiết kế cơ sở dữ liệu database của wordpress.
Để hiểu trõ hơn về database wordpress được thiết kế như thế nào, gồm có những table nào, chức năng của từng table, cũng như cách để can thiệp, tùy biến database wordpress… Hôm nay mình sẽ giới thiệu cho các bạn cấu trúc database wordpress.
Ở thời điểm mình viết bài này wordpress đang có phiên bản mới nhất là 5.1.1. Cấu trúc database wordpress gồm có 12 bảng như hình bên dưới!
p/s: Đối với mutil site thì cấu trúc database sẽ khác nhé. Đây là cấu trúc của một site wordpress thông thường!
Mình sẽ sắp xếp theo thứ tự quan trọng đối với yêu cầu chức năng của từng bảng nhé! (ý kiến của mình)
wp_posts:
Bảng này chưa toàn bộ bài viết của posts, pages cũng như các custom post type. Lưu ý hình ảnh up lên media của wordpress cũng được lưu ở bảng này. Mỗi ảnh tương ứng với mỗi trường nhé!. Một số hàm hay dùng để tương tác với bảng này là:
wp_postmeta:
Bảng này lưu các trường mở rộng (meta) của bảng wp_posts. Đây là lưu các custom field của post. Các thông tin của hình ảnh cũng được luư ở bảng này như các kích thước crop… bảng này liên kết với bảng wp_posts. (Một post sẽ có nhiều post_meta). Bảng này là một trong như bảng bị phìn to khi dữ liệu website nhiều lên. Một số hàm để tương tác với dữ liệu của bảng này là:
wp_terms:
Bảng này lưu tất cả các taxonomy như là category, tag, các custom taxonomy. Một số hàm tương tác với bảng này là:
wp_term_taxonomy:
Ở bảng wp_terms phía trên các bạn sẽ thấy, tất cả các chuyên mục cũng như từ khóa đều được lưu chung ở bảng đó. Vậy làm sao để phân biệt được đâu là chuyên mục, đâu là từ khóa? Vì vậy bảng wp_term_taxonomy được sinh ra để giải quyết vấn đề đó.
wp_termmeta:
Bảng này chứa các trường mở rộng của bảng wp_terms, Cũng giống như post_meta bảng này cũng được lưu dưới dạng key và value. Một số hàm dùng để tương tác với bảng này là:
wp_term_relationships:
Trong wordpress một bài viết có thể thuộc nhiều chuyên mục và một chuyên mục cũng có thể chứa nhiều bài viết. Mà chuyên mục ở đây là wp_terms còn bài viết ở đây là wp_posts. Dễ dàng nhận thấy 2 bảng đó quan hệ (nhiều nhiều) với nhau. Vì thế bảng wp_term_relationships là bảng trung gian giữa 2 bảng này.
Một số hàm tương tác với dữ liệu bảng này là:
wp_users:
Bảng này chứa danh sách thành viên của website. Tất cả user đều được lưa bảng này ko kể level cao thấp. Một số hàm để tương tác với dữ liệu bảng này là:
Một số hàm hay dùng liên quan đến user như:
wp_usermeta:
Bảng này chứa phần mở rộng của bảng wp_users. Dữ liệu của thông thành viên website chỉ gói gọn trong bảng wp_user. Ví dụ muốn thêm một số thông tin cho user ví dụ như: Địa chỉ, số điện thoại… thì chúng tả phải dùng bàng wp_usermeta để lưu chúng ở đó. Một số hàm để tương tác với bảng wp_usermeta là:
wp_comments:
Bảng này chứa tất cả các bình luận của khách comment vào wesbite bạn. Một số hàm tương tác với dữ liệu webiste này là:
wp_commentmeta:
Tương tự như những bảng meta khác. Bảng commentmeta là bảng mở trộng của wp_comments. Một số hàm tương tác với dữ liệu bảng wp_commentmeta
wp_options:
Bảng này chứa các thông tin của webiste như: Tiêu đè, mô tả, site url, đường dẫn theme, múi giờ…Các cài đặt cùa webiste. Bảng này thường được tận dụng để làm theme options. Một số hàm dùng để tương tác với dữ liệu của bàng này là:
wp_links:
Bảng cuối cùng :)) Mừng quá. Nói thật bảng này mình không biết nó sinh ra để làm nhiệm vụ gì luôn :)). Với viết tới đây buồn ngủ quá :(. Vậy bạn nào biết công dụng của bảng đó thì comment cho mình biết với nha!
Bài viết hôm này mình đã giới thiệu cho các bạn biết cấu trúc của database wordpress. Nhìn chung nếu các bạn bỏ thời gian ra ngâm cứu một tí sẽ thấy nó khá dễ. Chủ yếu là hệ thống các bảng chính đi kèm với nó là các bảng phụ (meta). Với cách thiết kế như thế này sẽ giúp cho website dễ dàng tùy biến thêm trường.
Nếu các bạn tìm hiểu sâu wordpress thì database của nó chắc chắn các bạn phải nắm để dễ dàng tùy chỉnh. Bài viết hôm nay khá dài nên mình sẽ chỉ giới thiệu tới đây. Bài viết sau mình sẽ hướng dẫn cho các bạn tạo thêm một bảng mới vào database wordpress và cũng như cách get, thêm, sửa, xóa dữ liệu trong database wordpress.
Chúc các bạn học wordpress thành công! Chào thân ái và quyết thắng!
Fonttiengviet.com là một dự án website do JKS thực hiện cho khách hàng Huy Academy.…
Chắc chắn nhiều anh em khi đọc bài viết này sẽ nghĩ tôi đang quảng…
Widget trong WordPress là một công cụ mạnh mẽ cho phép bạn dễ dàng thêm…
Hôm nay mình sẽ hướng dẫn cho anh em cách tạo website blog cực kỳ…
Sống cực tốt anh em ạ :D Sau nhiều năm gắng bó với nghề thiết…
Nhân dịp quay lại viết blog mình share cho anh em code mẫu website blog…
View Comments
Bài viết chất lượng :D
Cảm ơn e đã ghé thăm blog nhé :D
đọc bài viết là biết tác giả đẹp trai rùi :D
Đọc cmt là biết đẹp trai rồi. Mấy thằng đẹp trai thường khen qua khen lại :))
để đọc bài có gì qua BAP pv còn gặp leader Huy :v
tiêu đề rất táo bạo
hix nhìn 1 hồi em không hiểu gì hết trơn T-T
wp_links: Kể từ phiên bản WordPress 3.7 thì họ đã tắt đi chức năng Blogroll thường được dùng để thêm các liên kết mình yêu thích. Và các dữ liệu từ blogroll đó sẽ lưu ở đây, nhưng bây giờ thì hầu như không dùng tới.
Nguồn: thạchphạm
Cảm ơn bạn nhé :)
làm theo cách bác hướng dân em đa khắc phục và giờ chạy rất ngon
Bị cái chi mà khắc phục thế bác!
hay quá Anh Huy ơi !
Tìm mãi mới có web viết đúng cái mình đang cần. Tks bạn!
WP khi bài viết nhiều nó load khá lâu ,nên làm diển đàn ưu tiền xenforo nhiều .
Tui cũng thích anh huy nữa