WordPress как на ладони
wordpress jino

WordPress: изменить код вставки изображения вставляемой по кнопке «Добавить медиафайл»

Изображение в посту вставляется следующим кодом:

<img src="http://сайт.ru/wp-content/uploads/2014/04/1.jpg" alt="рисунок" width="500" height="155" class="alignnone size-full wp-image-79" />

нужно убрать в src протокол http и изменить class, чтобы не править каждый раз код после вставки рисунка. Хотелось бы, чтобы рисунок вставлялся так:

<img src="//сайт.ru/wp-content/uploads/2014/04/1.jpg" alt="рисунок" class="dkl-lightbox aligncenter" style="width: 100%; max-width: 500px;" />

В каком файле генерируется эта ссылка? В файлах темы не нашел. Или нужно добавлять какую-то функцию в functions.php? Спасибо.

1
Гость 10 месяцев назад
  • 0
  • 0
    Kama4697

    Тебе очевидно нужен этот хук: image_send_to_editor.
    Вызывается он из этой функции get_image_send_to_editor()

    Код примерно будет такой:

    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="dkl-lightbox ', $html ); // добавим класс
    
    	return $html;
    }

    П.С. Класс aligncenter должен запоминаться при выборе его и вставке. Его не рекомендую жестко указывать. Стили width: 100%; max-width: 500px; лучше укажи в CSS стилях темы, а не так жестко - это ужасное решение!

    П.П.С. код не тестировал, если все работает дай знать плз. Если что-то подправил - скинь свой код плз.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.