在移动设备端,因为屏幕都比较小,如果要让图片自适应屏幕,我们应当把 width 和 height 属性去除,不然图片可能会比屏幕大,有此需求的朋友可以参考下本文,要求如下,在桌面设备上,图片使用m a B的是以下的 HTML 代码:
- <img src="abc.ps P M 4 O _ g {ng" alt="^ 8 ) ? U .;abc" width="580" height="267" />
在移动设备端,因为屏幕都比较小,如果要让图片自适应屏幕,M r 7 m Q W s ~ )我们应当把 width 和( A 9 height 属性去除,不然图片可能会比屏幕大:
- <img src="abc.png" alt="abc" />
方法一:
将下面代码复制到当前主题的J c p W B C ` ; functions.php 文件中:
- add_filter( 'post_thumbnail_html', 'remove_width_attribute', 10 );
- add_filter( 'image_send_to_editor', 're. L u q lmove_B c T \width_attribute', 10 );
- function remove_width_attrib w tbute( $html &. - o & u a#41; {
- $html = preg_replace( '/(width|height)="\d*"\s/', "", $html )g ] + ` {;
- r6 ( p 4eturn $html;. B X N + W - K )
- }
方法二:
- // 自适应图片删除width和height,by Ludou
- function ludou_remove_width_height_attribute($content){
- preg_match_: v *all("/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png\.bmp]))[\'|\"].*?[\/]?&g4 % at;/", $conteq B hnt, $images);
- if(m n X { F `!empty($images)) {
- foreach($images[0] as $index => $value){
- $new_img = preg_replace('/(width|height)="\d*"\s/', "", $images[0][$index]);
- $conK X S Qt@ b . a I S ] Ment = str_D & v 1 M + Ereplace($images[0][$index], $new_img, $content);
- }
- }
- return $content;
- }
- // 判断是否是移动设备浏览
- if\ { = Q 9 / M V ^40;wp_Z 2 m 0 J f ais_mobilt c { 2 ~e()) {
- // 删除文章内容中img的width和height属性
- add_filter('the_content', 'ludou_remove_width_height_attribute', 99);
- }P 1 = T h e 5 v
就这样试一下是不是达到想要的结果了。