WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

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

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

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

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

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

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

1
Гость
7 лет назад
  • 0
    Kama9604

    Тебе очевидно нужен этот хук: 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 стилях темы, а не так жестко - это ужасное решение!

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

    Ольга Денисова 5.2 года назад

    Все отлично работает! Большое спасибо за то, что вы есть!

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