Các loại tùy chỉnh wordpress được lưu trữ ở đâu?


20

Các loại tùy chỉnh được lưu trữ ở đâu? Bởi vì khi một loại tùy chỉnh được tạo, trong wp_posts, loại bài đăng được đặt thành <new_custom_post_type>. Nhưng đâu là chi tiết của loại bài tùy chỉnh mới được lưu trữ ??

Câu trả lời:


14

Cuối cùng tôi đã tìm thấy dữ liệu loại bài tùy chỉnh. Nó được lưu trữ trong bảng wp_post trong đó post_type = loại bài đăng tùy chỉnh (ví dụ: "sản phẩm"). Dữ liệu trường (cột) được lưu trữ trong wp_postmeta trong đó meta_key là tên cột và meta_value là giá trị cột.

Truy vấn này sẽ mang lại tất cả dữ liệu được liên kết với loại "sản phẩm" tùy chỉnh của bài đăng:

SELECT P.ID, P.post_title, M.meta_key, M.meta_value
FROM wp_posts AS P
INNER JOIN wp_postmeta AS M ON M.post_id = P.ID
WHERE P.post_type = 'products' and P.post_status = 'publish'
ORDER BY post_title, meta_key

12

Chi tiết về các loại bài đăng tùy chỉnh không được lưu trữ ở bất cứ đâu, chúng được tải trong thời gian chạy với mỗi yêu cầu thông qua register_post_typecác cuộc gọi.


hmmmm, ok, đó là y khi tôi đang cố gắng tìm kiếm thông tin trong cơ sở dữ liệu, đã không thấy chúng, cảm ơn!
Noor

1
Điều đó không đúng chút nào.
Bai Internet

3
Điều này có thể đúng với định nghĩa của loại bài đăng tùy chỉnh, nhưng nó không giải quyết câu hỏi về nơi dữ liệu được liên kết với mỗi phiên bản của loại bài đăng tùy chỉnh được lưu trữ.
Bob Jones

@BobJones câu hỏi đề cập đến wp_postsbảng, vì vậy có vẻ như khá rõ ràng họ biết nơi dữ liệu bài được lưu trữ. nhưng nếu bạn có một cách giải thích khác nhau cho câu hỏi, thì có lẽ bạn nên thêm câu trả lời của riêng mình.
Milo

7

Như được đề cập bởi @milo trong câu trả lời này

Các loại bài đăng không thực sự được lưu trữ riêng biệt trong cơ sở dữ liệu tuy nhiên đang được nói ...

thông qua SQL

bạn có thể xem tất cả các loại bài đăng PUBLIC đã lưu bằng truy vấn sql sau

SELECT DISTINCT( post_type ) FROM wp_posts;

Mà sẽ xuất ra một cái gì đó tương tự như:

+----------------------+
| post_type            |
+----------------------+
| attachment           |
| competition          |
| custom_css           |
| customize_changeset  |
| deprecated_log       |
| experts              |
| magazine             |
| nav_menu_item        |
| page                 |
| post                 |
| revision             |
+----------------------+

thông qua WP CLI

Ngoài ra, nếu bạn có quyền truy cập vào wp cli , bạn có thể chạy:

wp post-type list

Mà sẽ xuất ra một cái gì đó như:

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | name                | label                 | description  | hierarchical | public | capability_type     |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | post                | Posts                 |              |              | 1      | post                |
 | page                | Pages                 |              | 1            | 1      | page                |
 | attachment          | Media                 |              |              | 1      | post                |
 | revision            | Revisions             |              |              |        | post                |
 | nav_menu_item       | Navigation Menu Items |              |              |        | post                |
 | custom_css          | Custom CSS            |              |              |        | post                |
 | customize_changeset | Changesets            |              |              |        | customize_changeset |
 | deprecated_log      | Deprecated Calls      |              |              |        | post                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+

Đây là một câu trả lời tốt hơn cho OP. cám ơn.
MarsAndBack

4

Bạn có thể sử dụng chức năng get_post_typesđể nhận thông tin về bất kỳ và tất cả các loại bài đăng đang hoạt động tại thời điểm đó. Để có được thông tin về một loại bài cụ thể, sử dụng get_post_type_object.


3
+1 - Để tạo các loại bài đăng được trả về từ get_post_typeschỉ các tùy chỉnh, tham số _builtincó thể được đặt thànhfalse
Nicolai

1

WordPress mặc định đi kèm với một số loại bài đăng mẫu như trang, bài đăng, vv Wordpress đã cung cấp tùy chọn để tạo các loại bài đăng tùy chỉnh của riêng chúng tôi. Cả hai bài đăng mặc định và tùy chỉnh được lưu trữ trong một bảng "wp_posts" bằng cách phân biệt tất cả các loại bài đăng dựa trên cột "post_type" trong bảng "wp_posts".

Ví dụ:
trang -> post_type = "page",
lời khai -> post_type = "lời chứng thực",
v.v.

Để lấy thêm thông tin về post_types này, sẽ có sẵn tại bảng "wp_postmeta".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.