image_send_to_editor хук-фільтрWP 2.5.0

Дозволяє змінити HTML код картинки, що вставляється в редактор на кнопку «Додати медіафайл». Працює у класичному редакторі.

Використання

add_filter( 'image_send_to_editor', 'wp_kama_image_send_to_editor_filter', 10, 9);

/**
 * Function for `image_send_to_editor` filter-hook.
 *
 * @param string $html Малюнок HTML markup to send.
 * @param int $id The attachment ID.
 * @param string $caption The image caption.
 * @param string $title The image title.
 * @param string $align The image alignment.
 * @param string $url image source URL.
 * @param string|int[] $size Requested image size. Чи можна будь-який записаний image size name, або array of width and height values ​​in pixels (in that order).
 * @param string $alt image alternative, або alt, text.
 * @param string $rel The image rel attribute.
 *
 * @return string
 */
function wp_kama_image_send_to_editor_filter( $html, $id, $caption, $title, $align, $url, $size, $alt, $rel ){

	// Filter...
	return $html;
}
$html
(рядок)
HTML-зображення для вставки в контент.
$id
(число)
Ідентифікатор вкладення.
$caption
(рядок)
Підпис зображення.
$title
(рядок)
Назва зображення (title).
$align
(рядок)
Вирівнювання зображення.
$url
(рядок)
URL-адреса зображення.
$size
(рядок/масив)
Розмір зображення. Розмір зображення або масив значень ширини та висоти (у цьому порядку).


Default: ‘medium’
$alt
(рядок)
alt, текст зображення.
$rel
(рядок) (WP 5.6)
rel атрибут зображення.

Приклади

0

#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Введено.
З версії 5.6.0The $rel parameter був added.

Де викликається хук

image_send_to_editor

wp-admin/includes/media.php 168

$html = apply_filters( 'image_send_to_editor', $html, $id, $caption, $title, $align, $url, $size, $alt, $rel);

Де використовується хук у WordPress

wp-includes/default-filters.php 631

add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8);

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *