Câu trả lời:
Khi một hình ảnh được tải lên trong WordPress, nó được lưu ở kích thước ban đầu và cũng như một số bản sao được thay đổi kích thước ở các kích cỡ khác nhau. Theo cách này, nó trở nên dễ dàng sử dụng các kích cỡ khác nhau, của cùng một hình ảnh, cho các mục đích khác nhau.
Theo mặc định, WordPress tạo 3 bản sao với 3 kích cỡ khác nhau:
'thumb'
'medium'
'large'
Kích thước tính bằng pixel cho 3 kích thước này có thể được đặt trong bảng điều khiển WordPress, trong menu Settings -> Media
.
Bây giờ, chức năng add_image_size
được sử dụng để đăng ký một kích thước mới, thêm vào 3 mặc định.
Mỗi kích thước đăng ký có thể được lấy ra sử dụng tên gọi của nó, trong một số chức năng WordPress, ví dụ như wp_get_attachment_image_src
, wp_get_attachment_image
, wp_get_attachment_link
.
Tất cả các hàm này chấp nhận một tham số $size
phải là tên của một trong các kích thước đã đăng ký (một trong 3 tiêu chuẩn hoặc một trong các kích thước tùy chỉnh được đăng ký add_image_size
).
Nếu 'full'
được sử dụng làm $size
đối số, hình ảnh gốc được trả về, hình ảnh không được thay đổi kích thước.
Ngoài các chức năng được đề cập ở trên, có hai chức năng khác sử dụng kích thước hình ảnh: get_the_post_thumbnail
và the_post_thumbnail
.
Hai chức năng này nhận được (đầu tiên) và echo (thứ hai) hình ảnh được đặt là "Hình ảnh nổi bật" cho một bài đăng.
Những gì được trả về (hoặc lặp lại) bởi các hàm này là một img
thẻ html đầy đủ , đại loại như
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Vì vậy, kích thước được sử dụng là gì?
Nếu a $size
được truyền dưới dạng đối số thứ 2 (thứ 1 là $postid
), thì các hàm này trả về hình ảnh ở kích thước đó. Mặt khác, các hàm này tìm kiếm kích thước hình ảnh được đăng ký với tên : post-thumbnail
.
Đây không phải là một trong 3 kích thước mặc định, trên thực tế, nó là kích thước tiêu chuẩn thứ 4 (thứ 5 được xem xét full
) và bạn có thể đăng ký gọi nó set_post_thumbnail_size
.
Vì thế
set_post_thumbnail_size( $width, $height, $crop );
là một lối tắt cho
add_image_size( 'post-thumbnail', $width, $height, $crop );
Nếu bạn chưa gọi set_post_thumbnail_size
(có nghĩa là kích thước 'post-thumbnail'
không được tạo), WordPress sẽ sử dụng kích thước thumb
và nếu ngay cả kích thước này không có sẵn, WordPress sẽ sử dụng hình ảnh gốc, kích thước không được thay đổi kích thước.
Đăng ký kích thước hình ảnh tùy chỉnh có thể rất hữu ích khi thiết kế một chủ đề, nhưng điều quan trọng là không lạm dụng: mọi hình ảnh được tải lên được sao chép và thay đổi kích thước cho tất cả các kích thước đã đăng ký, vì vậy đăng ký nhiều kích thước sẽ làm chậm quá trình tải lên hình ảnh.
Một lưu ý:
Xin lưu ý rằng khi WordPress tạo các bản sao thu nhỏ của hình ảnh, nó không bao giờ phóng to nó mà chỉ tạo các bản sao nhỏ hơn: ví dụ: nếu hình ảnh gốc là 400x500px và kích thước hình ảnh 'trung bình' là 800x600px, kích thước trung bình và lớn hơn không được tạo.
Vì vậy, việc đăng ký kích thước hình ảnh không bao giờ đảm bảo an toàn rằng tệp hình ảnh cho mọi kích thước đã đăng ký thực sự tồn tại trong thư mục nội dung WordPress. Ngay cả vì kích thước hình ảnh đã đăng ký dễ dàng thay đổi: thay đổi cài đặt, chuyển đổi chủ đề, v.v.
Khi kích thước hình ảnh thay đổi, vì bất kỳ lý do nào, sự thay đổi đó có ảnh hưởng đến hình ảnh được tải lên sau thay đổi đó; hình ảnh tải lên trước không thay đổi kích thước và không rescaled và resaved.
Nếu người ta cần dựa vào kích thước hình ảnh cụ thể sau khi một số hình ảnh đã được tải lên (ví dụ: sau khi thay đổi chủ đề), thì plugin Regenerate Thumbnails sẽ là một trình bảo vệ cuộc sống.
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... không chính xác. Theo kinh nghiệm của tôi, thử nghiệm này, nếu set_post_thumbnail_size()
chưa được gọi, WP sẽ quay lại hình ảnh kích thước đầy đủ.
Từ Codex:
set_post_thumbnail_size
Đặt kích thước Hình ảnh nổi bật mặc định (trước đây là Hình thu nhỏ). Để đăng ký kích thước hình ảnh bổ sung cho Hình ảnh nổi bật, hãy sử dụng: add_image_size ().
add_image_size
Đăng ký một kích thước hình ảnh mới. Điều này có nghĩa là WordPress sẽ tạo một bản sao của Hình ảnh nổi bật (trước đây gọi là hình thu nhỏ của bài đăng) với kích thước được chỉ định khi bạn tải lên một hình ảnh mới.