Intereting Posts
Сделайте 2 разных страницы проверки WooCommerce? JQuery и Javascript для панорамирования изображений Изменение моей постоянной ссылки – будет ли новый макет конфликтующим с существующей страницей? Могу ли я установить несколько изображений функций на несколько записей из медиа-библиотеки? Добавление класса к показанному изображению Известный белый экран смерти WordPress Отзывы клиентов WP – короткие коды Пагинация не работает для формы пользовательского поиска и шаблона пользовательских результатов Сообщения о событиях по запросу Условный add_filter для загрузки каталога? Как отредактировать плагин wordpress без прерывания его процесса обновления удалить дубликаты комментариев Позвольте пользователю отредактировать собственный комментарий Вставить Captcha Code info Любая форма (созданная из плагина) Добавить кнопки быстрого вызова в редактор HTML

Как обернуть каждое изображение в сообщении с помощью div?

Когда я добавляю изображение в сообщение, я хочу, чтобы он находился в div, например, и я хочу, чтобы это было сделано автоматически, поэтому мне не нужно делать это в редакторе HTML. Я не хочу использовать js для выполнения этого и, кстати, я хочу знать, как автоматически добавлять пользовательские классы к изображению в сообщении. Ура!

Solutions Collecting From Web of "Как обернуть каждое изображение в сообщении с помощью div?"

По умолчанию изображения уже имеют уникальный класс, но это зависит от вашей темы. Используйте firebug и наведите указатель мыши на изображения, и вы увидите такие вещи, как class="aligncenter size-full wp-image-1525" .

Если вы хотите изменить класс или идентификатор или изменить любые атрибуты изображения, вы можете использовать фильтр get_image_tag . Например,

 add_filter('get_image_tag_class','my_custom_class'); function my_custom_class($class){ $class='my_custom_name'; return $class; } 

Я нашел следующий код, проведя некоторые исследования. Вы можете легко обернуть изображение Post в Div с помощью встроенного фильтра WordPress, то есть image_send_to_editor . Вот пример,

 if( is_admin() ) { add_filter( 'image_send_to_editor', 'wp_image_wrap_init', 10, 8 ); function wp_image_wrap_init( $html, $id, $caption, $title, $align, $url, $size, $alt ) { return '<div id="wp-image-wrap-'. $id .'" class="wp-image-wrap">'. $html .'</div>'; } } 

Благодаря http://wpalkane.com/hacks/wrap-post-image-inside-div-automatically/

Ответ был близким, но недостаточно, потому что контрольная точка hook для get_image_tag_ class () изменяет только атрибут класса. Поэтому я играл и выяснял , что правильная вещь для обертывания каждого изображения – get_image_tag (), поэтому код выглядит следующим образом:

 function my_image_tag($html, $id , $alt, $title){ $html = "<div class='**wrap-div**'>" . $html . "</div>"; return $html; } add_filter('get_image_tag','my_image_tag',10,4); 

Вы ответили частично правильно, так что это лучший вариант.) Приветствую вас и благодарю за вашу помощь.

ответы здесь можно разделить на 2 метода:

1) функции, которые работают в ПОСТ-РЕДАКТОРЕ (back-end) (см. Опубликованные ответы)
2), которые работают в POST OUTPUT (front-end)

ps другие методы для изменения выходного интерфейса:

а)

 function my_image_class_filter($classes) { return $classes . ' another-image-class'; } add_filter('get_image_tag_class', 'my_image_class_filter'); 

б)

 function add_post_image_class($content) { return preg_replace('/<img(.*?)class="(.*?)"/', '<img $1 class="$2 YOUR_CLASS_NAME"', $content); } add_filter( 'the_content', 'add_post_image_class' );