The image_send_to_editor_url WordPress PHP Filter allows you to modify the image URL sent to the editor.
Usage
add_filter('image_send_to_editor_url', 'your_custom_function', 10, 4);
function your_custom_function($html, $src, $alt, $align) {
// your custom code here
return $html;
}
Parameters
$html(string) – HTML markup sent to the editor for an image.$src(string) – Image source URL.$alt(string) – Image alternate, or alt, text.$align(string) – The image alignment. Default ‘alignnone’. Possible values include ‘alignleft’, ‘aligncenter’, ‘alignright’, ‘alignnone’.
More information
See WordPress Developer Resources: image_send_to_editor_url
Examples
Change image URL
Change the image URL to a CDN domain:
add_filter('image_send_to_editor_url', 'change_image_url', 10, 4);
function change_image_url($html, $src, $alt, $align) {
$cdn_url = 'https://cdn.example.com';
$new_src = $cdn_url . $src;
$html = str_replace($src, $new_src, $html);
return $html;
}
Add custom CSS class
Add a custom CSS class to the image tag:
add_filter('image_send_to_editor_url', 'add_custom_css_class', 10, 4);
function add_custom_css_class($html, $src, $alt, $align) {
$custom_class = 'my-custom-class';
$html = str_replace('<img', '<img class="' . $custom_class . '"', $html);
return $html;
}
Add custom data attribute
Add a custom data attribute to the image tag:
add_filter('image_send_to_editor_url', 'add_custom_data_attribute', 10, 4);
function add_custom_data_attribute($html, $src, $alt, $align) {
$custom_data = 'custom-data';
$html = str_replace('<img', '<img data-custom="' . $custom_data . '"', $html);
return $html;
}
Change alt text
Modify the alt text of the image:
add_filter('image_send_to_editor_url', 'change_alt_text', 10, 4);
function change_alt_text($html, $src, $alt, $align) {
$new_alt = 'New Alt Text';
$html = str_replace('alt="' . $alt . '"', 'alt="' . $new_alt . '"', $html);
return $html;
}
Change image alignment
Change the image alignment to ‘aligncenter’:
add_filter('image_send_to_editor_url', 'change_image_alignment', 10, 4);
function change_image_alignment($html, $src, $alt, $align) {
$new_align = 'aligncenter';
$html = str_replace('class="align' . $align, 'class="align' . $new_align, $html);
return $html;
}