Câu hỏi này là một nhánh trong cuộc thảo luận này về việc loại bỏ các thuộc tính kích thước khỏi hình ảnh. Mã giải pháp được cung cấp trên luồng đó hoạt động rất tốt ngoại trừ việc nó có tác dụng phụ đáng tiếc là bất kỳ [caption]
mã ngắn nào đều bị sọc khỏi hình ảnh.
Sau vài giờ đào qua mã lõi, tôi đã tìm ra nguyên nhân của việc này. Plugin TinyMCE của wpeditimage chịu trách nhiệm thêm [caption]
kiểm tra shortcode cho các thuộc tính chiều rộng trong shortcode và img
thẻ. Nếu nó không tìm thấy chúng, nó chỉ cần xóa chú thích. Vì, việc này được thực hiện 'nhanh chóng' với javascript trong trình chỉnh sửa TinyMCE, tôi không thể nghĩ ra bất kỳ loại bộ lọc WordPress nào sẽ giải quyết vấn đề này. Tôi sẽ rất vui khi được chứng minh là sai. :)
Như một lưu ý cuối cùng, giải pháp tạm thời của tôi là sử dụng jQuery sau đây để loại bỏ tất cả các thẻ khách hàng vi phạm. Điều này, kết hợp với một bộ lọc trên img_caption_shortcode
để ngăn kiểu chiều rộng được sử dụng ở đó, dường như thực hiện công việc. Nó không đẹp, nhưng bây giờ nó là một hỗ trợ ban nhạc. Bất cứ ai có một ý tưởng tốt hơn?
// Strip width and height attributes from img, video, and object in the main article so we can have fluid images
var $fluid_items = $('.main-article-wrapper').find('img,video,object');
$fluid_items.removeAttr('width');
$fluid_items.removeAttr('height');