删除或失效WordPress文章中的图像大小属性
默认情况下,WordPress会将图像元素width
和height
属性添加到图像元素中。这些属性会影响CSS宽度和高度属性,图片延迟加载时默认图片的大小,可通过 PHP、JavaScript 和 CSS 来删除属性,或者使用其失效。
从媒体库插入的图像中删除图像大小属性
删除图像大小属性可完全控制 CSS 属性,可将以下代码添加到主题 functions.php 文件中:
/**
* 移除图片高度和宽度属性从文章内容中的图片上
*/
function salong_remove_image_size_attributes( $html ) {
return preg_replace( '/(width|height)="\d*"/', '', $html );
}
// 从特色图像中删除图片大小属性
add_filter( 'post_thumbnail_html', 'salong_remove_image_size_attributes' );
// 从添加到WordPress文章的图像中删除图像大小属性
add_filter( 'image_send_to_editor', 'salong_remove_image_size_attributes' );
请注意,当图像是特色图像或将媒体库有图像添加到文章时,此代码将从图像中去除图像大小属性,再添加图像到文章中。已上传到文章中的现有图像不受影响。
通过 jQuery 删除width和height属性
对于已经添加到文章的图像,必须手动删除width
和height
属性,或者也可以使用一些jQuery代码来解决问题,以下代码添加到主题 js 文件中:
/*直接删除图像上的大小属性*/
jQuery(document).ready(function($) {
$('img').removeAttr('width').removeAttr('height');
});
使用 jQuery 代码删除图像大小属性更加方便,对于已经添加或者将来要添加的图片都适用。
使用 CSS 使图像大小属性失效
对于响应式图片或者延迟加载时的默认图片都是较好的解决方法,将以下代码添加到主题 CSS 样式文件中:
img {
width: initial !important;
max-width: 100% !important;
}
对于延迟加载时,默认图像与实际图像大小不一样时,默认图像将保持原有的大小。
英文原文:https://wpscholar.com/blog/remove-wp-image-size-attributes/