image_send_to_editor хук-фильтр . WP 2.5.0
Позволяет изменить HTML код картинки, вставляемой в редактор по кнопке «Добавить медиафайл». Работает в классическом редакторе.
Использование
add_filter( 'image_send_to_editor', 'filter_function_name_8484', 10, 8 ); function filter_function_name_8484( $html, $id, $caption, $title, $align, $url, $size, $alt ){ // Изменяем... return $html; }
- $html(строка)
- HTML изображения для вставки в контент.
- $id(число)
- Идентификатор вложения.
- $caption(строка)
- Подпись картинки.
- $title(строка)
- Название изображения (title).
- $align(строка)
- Выравнивание изображения.
- $url(строка)
- URL изображения.
- $size(строка/массив)
- Размер изображения. Размер изображения или массив значений ширины и высоты (в этом порядке).
Default: 'medium' - $alt(строка)
- alt, текст изображения.
Примеры
#1 Изменим код вставки изображения вставляемого по кнопке «Добавить медиафайл»
Допустим, при вставке изображения в запись получаем такой код:
<img src="http://example.com/wp-content/uploads/2014/04/1.jpg" alt="рисунок" width="500" height="155" class="alignnone size-full wp-image-79" />
Нужно убрать в src протокол http и добавить class, чтобы не править каждый раз код после вставки картинки. Надо чтобы картинка вставлялась так:
<img src="//example.com/wp-content/uploads/2014/04/1.jpg" alt="рисунок" class="myclass aligncenter" style="width: 100%; max-width: 500px;" />
Решение:
add_filter( 'image_send_to_editor', 'filter_function_name_11', 10, 8 ); function filter_function_name_11( $html, $id, $caption, $title, $align, $url, $size, $alt ){ $html = str_replace( 'http:', '', $html ); // удалим протокол $html = str_replace( 'class="', 'class="myclass ', $html ); // добавим класс return $html; }
Пример взят из вопроса
Список изменений
С версии 2.5.0 | Введена. |
Где вызывается хук
image_send_to_editor
wp-admin/includes/media.php 166
$html = apply_filters( 'image_send_to_editor', $html, $id, $caption, $title, $align, $url, $size, $alt );
Где используется хук (в ядре WP)
wp-includes/default-filters.php 543
add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );