Фильтр для удаления атрибутов размера изображения?

Я работаю над сайтом, основанным на шаблоне CSS ширины жидкости, который устанавливает максимальную ширину на изображениях в ширину столбца, содержащего их, и мне нужно удалить атрибуты ширины и высоты строки, которые WordPress добавляет к изображениям.

Я делаю это с моими лучшими изображениями с этим фильтром:

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 ); function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) { $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } 

Я знаю, что я могу применить тот же фильтр к значению , если это необходимо. Но есть ли лучший способ сделать это?

Спасибо всем!

Фильтр image_send_to_editor был тем, кого я искал … спасибо @ t31os за то, что он указал.

Вот мои функции сейчас.

 add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 ); add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 ); function remove_thumbnail_dimensions( $html ) { $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } 

Это удаляет атрибуты атрибута в the_post_thumbnail() из изображений, полученных с помощью the_post_thumbnail() , и предотвращает добавление этих атрибутов к новым изображениям, добавленным в редактор. Не удаляет их из изображений, полученных через wp_get_attachment_image или других связанных функций (там нет крючков), но эти случаи могут быть обработаны в файлах шаблонов, когда это необходимо.

Немного изменил этот скрипт. Спасибо за помощь!

 add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 ); add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 ); // Genesis framework only add_filter( 'genesis_get_image', 'remove_thumbnail_dimensions', 10 ); // Removes attached image sizes as well add_filter( 'the_content', 'remove_thumbnail_dimensions', 10 ); function remove_thumbnail_dimensions( $html ) { $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } 

если вы задали размер изображения в функции.php как «галерея»,

 add_image_size( 'gallery', 200, 120, true ); 

вы можете удалить ширину и высоту определенного размера изображения, например «галерея»:

 add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 4 ); function remove_thumbnail_dimensions( $html, $post_id, $post_image_id,$post_thumbnail) { if ($post_thumbnail=='gallery'){ $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); } return $html; } 

Применение этого фильтра к the_content приведет к его the_content для всего содержимого. Это будет эффективно, но может повлиять на производительность и время загрузки вашего сайта. Было бы лучше, если бы вы сказали WordPress просто не вставлять строковые теги ширины и высоты, когда вы вставляете изображения в первую очередь.

К сожалению, скрипты, которые фактически вставляют изображение, встроены в JavaScript и взаимодействуют с редактором Wysiwyg TinyMCE. Возможно, есть возможность подключиться к нему напрямую, но не использовать стандартные add_filter() .