Hãy nhớ rằng $content_width
toàn cầu không chỉ được sử dụng cho hình ảnh, mà còn cho các đối tượng nhúng, chẳng hạn như video. Vì vậy, bất kỳ giải pháp nào sẽ không chỉ là một trường hợp bỏ sử dụng / hỗ trợ của $content_width
chính nó.
Thông thường, một Chủ đề sẽ hạn chế hình ảnh khu vực nội dung theo một số cách:
- Lớn kích thước hình ảnh: Xác định
$content_width
một cái gì đó thích hợp cho việc thiết kế Theme
- Kích thước hình ảnh gốc / đầy đủ : Xác định quy tắc CSS
#content img { max-width: XXX; height: auto; }
để đảm bảo rằng hình ảnh kích thước đầy đủ được chèn không phá vỡ bố cục
- Hình thu nhỏ Kích thước hình ảnh: Gọi
set_post_thumbnail_size()
để xác định thumbnail
kích thước mặc định của hình ảnh / bài đăng Hình thu nhỏ . (Lưu ý: Cá nhân tôi không khuyên bạn nên sử dụng phương pháp này. Xác định kích thước hình ảnh tùy chỉnh cụ thể cho một vị trí nhất định cho hình ảnh nổi bật và sau đó gọi kích thước tùy chỉnh đó trong vị trí mẫu cụ thể, thông qua the_post_thumbnail( $size )
.)
Như bạn đã phát hiện ra, do cách WordPress chọn với kích thước hình ảnh trung gian để sử dụng cho bất kỳ yêu cầu hình ảnh cụ thể nào, yêu cầu đó có thể dẫn đến hình ảnh có tỷ lệ trình duyệt.
Giá trị được xác định theo chủ đề cho hình ảnh lớn
Một lựa chọn sẽ là xác định lại các cài đặt cho kích thước hình ảnh lớn . (Tiếp tục thận trọng. Điều này tốt cho trang web của riêng bạn, nhưng Chủ đề được phân phối công khai gây rối với cài đặt cấu hình người dùng là ... tốt nhất là khu vực màu xám.)
Cài đặt kích thước hình ảnh lớn được lưu trữ dưới dạng:
$large_image_width = get_option( 'large_size_w' );
$large_image_height = get_option( 'large_size_h' );
Vì vậy, bạn có thể đặt các giá trị đó theo giá trị của mình $content_width
:
global $content_width;
update_option( 'large_size_w', $content_width );
update_option( 'large_size_h', $content_width );
(Tất nhiên, bạn muốn đặt một số kiểm tra lỗi / an toàn xung quanh vấn đề này, nếu phù hợp.)
Xóa tùy chọn để chèn hình ảnh kích thước đầy đủ
Nếu bạn chỉ đơn giản muốn ngăn người dùng chèn hình ảnh kích thước đầy đủ (một lần nữa: hãy thận trọng; đây có thể là lãnh thổ Plugin), bạn có thể lọc 'image_size_names_choose'
:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
unset( $possible_sizes['full'] );
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );
Một lần nữa: bạn có thể muốn thêm một số lỗi không lành mạnh ở đây, vì bộ lọc này được sử dụng ở nhiều nơi.
Xác định kích thước hình ảnh tùy chỉnh cho hình ảnh toàn chiều rộng
Liên quan đến tùy chọn trước đó, bạn có thể xác định 'full-post-width'
kích thước hình ảnh:
global $content_width;
add_image_size( 'full-post-width', $content_width, $content_width, false );
Sau đó, thêm nó vào danh sách các tùy chọn có sẵn:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
// Unset full image size
unset( $possible_sizes['full'] );
// Add full-post-width image size
$possible_sizes['full-post-width'] = 'Full Post Width';
// Return array
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );