Intereting Posts
Санирование и проверка поля электронной почты Почему POST'ing для моего шаблона страницы WP, создающего 404? wp-cli не удается установить в поддомен Имя пользовательского меню и название категории связаны в WordPress? Лучший подход, позволяющий просматривать внешний вид рецензентов сообщений? Последовательное создание более 1000 сообщений вызывает 404? При установке автоматически создайте страницу и установите ее как главную страницу translate_user_role не работает Лучше ли устанавливать социальный помощник в entry-footer.php или comments.php в блоге WordPress? Контактная форма 7 в пользовательском файле php Тип персонализированного сообщения Динамически обновляет другой настраиваемый тип сообщения Удалить «Проверить совместимость» в меню «Плагины» Размеры созданных изображений не совпадают. Настройка контактной формы db-плагина Выдержка WordPress с форматированием и разрешением выбранных тегов

Остановить wordpress из атрибутов ширины и высоты hardgoding img

Я задаюсь вопросом, есть ли простой способ остановить WordPress автоматически hardcoding признакам высотой и шириной атрибутов, кроме использования регулярных выражений …

Поскольку я использую гибкую сетку для моего проекта (кто нет!), Это вызывает некоторые проблемы с фанкой.

Вы можете получить отображаемый URL-адрес изображения и добавить его в свой контент вручную, например:

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail' ); if ($image) : ?> <img src="<?php echo $image[0]; ?>" alt="" /> <?php endif; ?> 

Вы можете удалить атрибуты width и height, фильтруя вывод функции image_downsize найденной в wp-includes/media.php . Для этого вы пишете свою собственную функцию и выполняете ее через файл functions.php вашей темы или как плагин.

Пример:

Удалите атрибуты width и height .

 /** * This is a modification of image_downsize() function in wp-includes/media.php * we will remove all the width and height references, therefore the img tag * will not add width and height attributes to the image sent to the editor. * * @param bool false No height and width references. * @param int $id Attachment ID for image. * @param array|string $size Optional, default is 'medium'. Size of image, either array or string. * @return bool|array False on failure, array on success. */ function myprefix_image_downsize( $value = false, $id, $size ) { if ( !wp_attachment_is_image($id) ) return false; $img_url = wp_get_attachment_url($id); $is_intermediate = false; $img_url_basename = wp_basename($img_url); // try for a new style intermediate size if ( $intermediate = image_get_intermediate_size($id, $size) ) { $img_url = str_replace($img_url_basename, $intermediate['file'], $img_url); $is_intermediate = true; } elseif ( $size == 'thumbnail' ) { // Fall back to the old thumbnail if ( ($thumb_file = wp_get_attachment_thumb_file($id)) && $info = getimagesize($thumb_file) ) { $img_url = str_replace($img_url_basename, wp_basename($thumb_file), $img_url); $is_intermediate = true; } } // We have the actual image size, but might need to further constrain it if content_width is narrower if ( $img_url) { return array( $img_url, 0, 0, $is_intermediate ); } return false; } 

Прикрепите новую функцию к image_downsize :

 /* Remove the height and width refernces from the image_downsize function. * We have added a new param, so the priority is 1, as always, and the new * params are 3. */ add_filter( 'image_downsize', 'myprefix_image_downsize', 1, 3 ); 

Также не забудьте правильно масштабировать изображения в CSS:

 /* Image sizes and alignments */ .entry-content img, .comment-content img, .widget img { max-width: 97.5%; /* Fluid images for posts, comments, and widgets */ } img[class*="align"], img[class*="wp-image-"] { height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */ } img.size-full { max-width: 97.5%; width: auto; /* Prevent stretching of full-size images with height and width attributes in IE8 */ } 

Надеюсь, это вам поможет.

Ура,

Вы можете использовать фильтр post_thumbnail_html для удаления атрибута:

 function remove_img_attr ($html) { return preg_replace('/(width|height)="\d+"\s/', "", $html); } add_filter( 'post_thumbnail_html', 'remove_img_attr' ); 

Поместите это в свой файл functions.php

Лучшее решение – разместить jquery в нижнем колонтитуле

 jQuery(document).ready(function ($) { jQuery('img').removeAttr('width').removeAttr('height'); }); 

Вы можете отменить встроенные стили / атрибуты с помощью: !important :

 .wp-post-image { width: auto !important; /* or probably 100% in case of a grid */ height: auto !important; } 

Это не самое чистое решение, но оно решает вашу проблему.