it-swarm-vi.tech

Làm cách nào để tạo và làm việc với dữ liệu/bảng tùy chỉnh (nghĩa là, đối với dữ liệu tùy ý)?

Bắt đầu trên Wordpress ngay hôm nay. Tôi nhận thấy rằng Wordpress đã tạo các bảng trong cơ sở dữ liệu mySql (có tên * .wrdp1) khi tôi lần đầu tiên thiết lập nó. Các bảng này bao gồm các bình luận, bài đăng, người dùng và một số mối quan hệ liên kết.

Bây giờ, giả sử tôi muốn làm việc với một bộ dữ liệu mới. Giả sử tôi đã tạo một trang có hai điều:

  • trường văn bản , trong đó người dùng của tôi có thể nhập số từ 1 đến 10
  • biểu đồ , hiển thị tần suất các số được người dùng của tôi nhập theo lịch sử

Tôi đoán: Đối với những thứ như trên, tôi cho rằng tôi sẽ phải thiết lập một bảng/tập dữ liệu tùy chỉnh trong cơ sở dữ liệu , sao cho số này dữ liệu có thể được viết và sau đó đọc. (Tôi cũng đoán rằng tôi sẽ phải sử dụng một số PHP, để lưu số từ trường văn bản vào cơ sở dữ liệu và sau đó để đọc lại các số.)

Ai đó có thể phác thảo cách tiếp cận được đề xuất trong trường hợp này là gì không? (Sau đó tôi có thể tự nghiên cứu chi tiết chính xác.)

1
boardbite

WordPress có một cách khá linh hoạt để xử lý dữ liệu tùy chỉnh và nó lưu trữ nó trong một bảng có tên wp_postmeta (giả sử tiền tố wp_ mặc định). Điều hấp dẫn duy nhất là nó giả định rằng bằng cách nào đó nó sẽ liên quan đến một bài đăng nhất định, điều mà tôi không chắc bạn thực sự muốn làm.

Rất đơn giản để sử dụng (xem tại đây để biết thêm thông tin):

// Add a custom data (i.e. textfield of value '5') for post ID = 1
update_post_meta(1, 'my_textfield', 5);

// Return an array which contains 'my_textfield' values from post ID = 1
get_post_meta(1, 'my_textfield', true);

Nếu thông tin không liên quan đến bài đăng mà thay vào đó là người dùng, bạn cũng có thể tận dụng bảng wp_usermeta. Ý tưởng là như nhau (xem tại đây để biết thêm):

// Add a custom data (i.e. textfield of value '5') for to user 1
update_user_meta(1, 'my_textfield', 5);

// Return an array which contains 'my_textfield' values for user 1
get_user_meta(1, 'my_textfield', true);

Tạo bảng tùy chỉnh phải là giải pháp cuối cùng và chỉ được sử dụng khi thông tin tùy chỉnh bạn muốn lưu trữ có nhiều hơn một giá trị (nghĩa là bạn cần biết số do người dùng chọn, thời gian được ghi, IP của người dùng đó , v.v.) Trong trường hợp đó, bạn sẽ cần mã hóa các hàm của riêng mình để thêm giá trị vào bảng đó, không đề cập đến mã PHP sẽ tạo bảng đó ở vị trí đầu tiên. Nó phức tạp hơn, bất cứ ai đã làm nó trước đây sẽ chứng thực rằng đó là một vấn đề tế nhị và khó gỡ lỗi, cộng với không có gì đảm bảo rằng nó sẽ không phá vỡ trong các phiên bản WordPress trong tương lai. Dù sao đi nữa, nếu đó là những gì bạn cần, điều này sẽ giúp bạn đi.

Hy vọng nó giúp! Hãy cho chúng tôi biết làm thế nào nó đi.

1
Tomas Buteler

Để thêm vào câu trả lời của @ tbuteller, bạn cũng có Loại bài đăng tùy chỉnh có thể có dữ liệu meta liên quan của riêng họ. Nếu bạn xem trang Loại bài đăng , bạn sẽ thấy WordPress sử dụng những cách này theo một số cách không rõ ràng, như lưu trữ các mục menu điều hướng. Ngoài ra còn có Phân loại tùy chỉnh có thể được sử dụng để tạo mối quan hệ như các danh mục và thẻ được tích hợp sẵn. Cũng như dữ liệu meta, có toàn bộ các hàm API để quản lý các đối tượng này để cho phép bạn xây dựng giao diện người dùng của riêng mình để quản lý dữ liệu của mình.

2
Milo