Làm thế nào để chèn hình ảnh mà không có kích thước mã hóa cứng?


8

Làm cách nào tôi có thể chèn ảnh vào bài đăng mà không có bất kỳ kích thước được mã hóa cứng nào (ví dụ <img src="" alt="" />thay vì <img src="" alt="" width="" height="" />)? Tôi không muốn người dùng của mình chuyển sang tab HTML và tự xóa các tham số, vì vậy tôi tự hỏi liệu có bộ lọc nào tôi có thể sử dụng để đạt được điều này không?

Lưu ý: Tôi đã chèn chúng vào "Kích thước đầy đủ".

Câu trả lời:


2

Tôi không biết đây có phải là cách tốt nhất để làm việc này không, nhưng nó hiệu quả với tôi.

Trong hàm.php của chủ đề bạn đang sử dụng, hãy đặt cái này:

function remove_img_src($html)
{
    $html = preg_replace('@(width|height)="([0-9])+" ?@i', '', $html);

    return $html;
}

add_filter('image_send_to_editor', 'remove_img_src', 10, 8);

Nó sử dụng các ngoại lệ thông thường để thay đổi đầu ra được chèn trong trình chỉnh sửa.


Nó dường như không hoạt động khi kéo hình ảnh từ thư viện bài đăng, sử dụng wp_get_attachment_image . Bất kỳ đề xuất?
João

1
Đối với những gì tôi thấy trên mã, có vẻ như không thể thực hiện được nếu không mã hóa các thay đổi. Có một bộ lọc trong dòng 663 , nhưng trên dòng 665 được mã hóa, trong đó $ hwopes có định nghĩa chiều rộng / chiều cao.
Eduardo Reveles

Bất kỳ ý tưởng hơn về làm thế nào để giải quyết điều này?
João

1

Có vẻ như bạn có thể làm điều đó với chú thích hình ảnh, nhưng không phải hình ảnh hiện tại:

Từ danh sách gửi thư của tin tặc wp:

Tôi đã có một bộ lọc mà tôi sử dụng để buộc các chú thích phải phản hồi trên frontend. Chắc chắn cắt giảm đau đầu.

Gist tại đây: https://gist.github.com/2243601

Đã vẽ


Cảm ơn! Trong khi đó, tôi đã từng sử dụng wp_get_attachment_image_src()để có được srcnhững hình ảnh. Tôi nghĩ rằng nó kết thúc bằng cách là giải pháp dễ dàng nhất và nó không yêu cầu bộ lọc.
João

1

Tôi đã tìm thấy một giải pháp trong lúc này: wp_get_attachment_image_src()để có được srcnhững hình ảnh. Tôi nghĩ rằng nó kết thúc bằng cách là giải pháp dễ nhất và nó không yêu cầu bộ lọc.

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.