Intereting Posts
Следующая и предыдущая ссылка перерывает код на последнем сообщении Отключить `create_post` для встроенного типа сообщений Доступ к значениям для отображения на странице заказа. WSoD вызван этой частью кода Удалить текст в тегах заголовка в выдержке Мой блог, размещенный на удаленном сервере, все еще подключается к localhost Отзывчивое выпадающее меню с меньшими размерами экрана Отображать пользовательские типы сообщений по дате date_query не возвращает некоторые сообщения в диапазоне дат Детская тема захватывает неправильное расположение файлов родительской темы Формирование валюты (цены) на пользовательских полях Пользовательские поля в Permalinks? Перенаправить старые загрузки после перехода на многопользовательский режим Остановите WordPress от входа в систему (необходимо, чтобы я вошел в систему) получить значения db для внешнего js-файла

Переопределить класс img в галерее

Я использую WordPress для AngularJS как backend (плагин wp-json), и на самом деле то, что я сделал как структуру для темы, выглядит

myApptheme -style.css //nothing special here just inits the theme -index.php -header.php -functions.php lib //here some overrides php --gallery.php app //holds the angular stuff generated with yo angular bower_components //bower packages what I need 

и в gallery.php (этот я заимствовал из корней с собственными изменениями). Я добавляю разметку, требующую кладки, и пытаюсь отфильтровать элементы моей галереи и добавить пользовательский класс (img-отзыв) для начальной загрузки. Фрагмент выглядит так, как следует.

 /** * Add class="img-responsive" to attachment items */ function responsive_attachment_link_class($html) { $classes = 'img-responsive'; // separated by spaces, eg 'img image-link' // check if there are already classes assigned to the anchor if ( preg_match('/<img.*? class="/', $html) ) { $html = preg_replace('/(<img.*? class=" .*?)(".*?\="">)/', '$1 ' . $classes . ' $2', $html); } else { $html = preg_replace('/(<img.*?)(\>)/', '$1 class="' . $classes . '" $2', $html); } // remove dimensions from images,, does not need it! $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } add_filter('wp_get_attachment_link', 'responsive_attachment_link_class'); 

удаление img width|heigh t работает, но не переопределение класса. Что не так с этими кодами?

фактический результат

 <img alt="ind018" class="attachment-large" src="http://img.wordpressask.com/images/ind018-728x1024.jpeg"> 

ожидаемый

 <img alt="ind018" class="img-responsive" src="http://img.wordpressask.com/images/ind018-728x1024.jpeg"> 

Solutions Collecting From Web of "Переопределить класс img в галерее"

Вы должны добавить !important для своих стилей, чтобы переопределить его. Лучший способ сделать это – скопировать стили с учетом .img-responsive из файла CSS Bootstrap и применить эти стили к желаемому элементу HTML вместо добавления класса с использованием PHP.

 img.attachment-large { display: block; max-width: 100%; height: auto; } 

Или задайте элемент родительским элементом, если класс не является константой.

ИЛИ используйте этот фильтр.

 function my_image_class_filter( $classes ) { return $classes.' attachment-large'; } add_filter( 'get_image_tag_class', 'my_image_class_filter' );`