Tệp đính kèm là Bài đăng
Bảng bài viết chứa thông tin về bài đăng đính kèm .
Trong WordPress mỗi phương tiện truyền thông tải lên có bài entry riêng của nó, nơi post_type
là 'attachment'
và post_status
là 'inherit'
.
Trong thực tế, bạn có thể nhận các loại bài đăng đính kèm bằng các hàm được sử dụng để nhận các loại bài đăng khác, như bài đăng, trang hoặc bất kỳ CPT nào.
Điều đó bao gồm WP_Query
, get_posts()
và get_post()
.
Có gì trong posts
bàn
Đối với mỗi bài viết đính kèm
post_title
cột được sử dụng cho tiêu đề đính kèm
post_excerpt
được sử dụng cho chú thích đính kèm
post_content
được sử dụng để mô tả tệp đính kèm
Lưu ý rằng loại bài đăng đính kèm có thể có một post_parent
điểm trỏ đến ID của bài đăng nơi tệp đính kèm được tải lên từ đó.
Ví dụ:
get_posts( 'post_type=attachment&post_parent=10' );
Truy xuất tất cả các đối tượng bài đăng cho các tệp đính kèm được tải từ trang chỉnh sửa của bài đăng có ID 10
;
Một tệp đính kèm không chỉ là một bài
Tuy nhiên, có thông tin cho phương tiện (đặc biệt là hình ảnh) chỉ đơn giản là không phù hợp với bảng bài viết.
Tất cả thông tin này được lưu trữ trong bảng postmeta, trong đó post_id
cột đề cập đến hàng đính kèm trong bảng bài viết.
Có gì trong postmeta
bàn
Ví dụ: "alt"
thuộc tính được lưu trữ trong trường meta có khóa '_wp_attachment_image_alt'
.
Trường meta có khóa '_wp_attached_file'
chứa đường dẫn tương đối (đến thư mục nội dung) của tệp được tải lên.
Được sử dụng để xây dựng các URL tập tin đính kèm và đường dẫn, trong các chức năng như wp_get_attachment_url()
, wp_get_attachment_image_src()
, get_attached_file()
và vân vân.
Cuối cùng, trường '_wp_attachment_metadata'
chứa thông tin khác nhau (trong một mảng được tuần tự hóa trong cơ sở dữ liệu):
- Kích thước hình ảnh (dưới phím
'width'
và 'height'
)
- Thông tin về kích thước trung gian
Kích thước trung gian
Trên thực tế, mỗi khi hình ảnh được tải lên, WordPress sẽ tạo ra các bản sao khác nhau của hình ảnh với các kích cỡ khác nhau.
Xin vui lòng đọc câu trả lời này để biết thêm chi tiết.
Khóa "sizes"
trong '_wp_attachment_metadata'
trường chứa một mảng với thông tin về tất cả các hình ảnh được tạo: tệp được tạo, kích thước (chiều rộng và chiều cao), v.v.
Lưu ý rằng cách ưa thích để lấy thông tin '_wp_attachment_metadata'
không phải là sử dụng chung get_post_meta()
mà là cụ thể wp_get_attachment_metadata()
, vì nó kích hoạt bộ lọc.
Nếu bạn quan tâm đến thông tin về một hình ảnh được tạo cụ thể, chức năng image_get_intermediate_size()
sẽ có ích.
Sử dụng các chức năng cụ thể
Nói chung, nếu bạn cần thông tin về tệp đính kèm, hãy sử dụng các chức năng cụ thể và tránh lấy dữ liệu từ cơ sở dữ liệu; nó khó hơn và không kích hoạt các hook, có thể phá vỡ tính tương thích cốt lõi, chủ đề và plugin.
Có rất nhiều chức năng trong WordPress để làm việc với các tệp đính kèm, điều này sẽ cho bạn một ý tưởng ...
Tuy nhiên, tất cả các chức năng chính được liệt kê trong câu trả lời này.