Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 11

Как сделать отложенную загрузку без плагинов

26.11.2018, 14:51. Показов 1273. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пытаюсь реализовать отложенную загрузку изображений без плагинов, на тестовом сайте wordpress. Сделал следующее:
1. Поставил jquery.min.js в хейдер в первую очередь, далее скрипт отложенной загрузки jquery.lazyload.min.js
2. В подвале разместил js скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(function() {
 
$(".lazy").lazyload({
    effect : "fadeIn",
    threshold : -300
});
 
$(".list_tabs2 li").click(function() {
setTimeout(function(){ $(".tab2 .lazy").lazyload({effect : "fadeIn"}); }, 500);
});
 
$(document).ready(function() {
    var iframes = $('iframe.lazy');
    $('#ddd-btn').click(function() {
        iframes.attr('src', function() {
            var src = $(this).attr('data-original');
            $(this).removeAttr('data-original');
            return src;
        });
    });
});
 
});
3. В функции темы разместил код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Атрибуты для изображений внутри поста
 
function rudr_custom_html_template($html, $id, $caption, $title, $align, $url, $size, $alt) {
 
$loader = plugins_url('/loading-rect.gif', __FILE__);
 
list( $img_src, $width, $height ) = image_downsize($id, $size);
$hwstring = image_hwstring($width, $height);
 
$image_thumb = wp_get_attachment_image_src( $id, $size );
 
if($url){ // if user wants to print the link with image
$out .= '<a href="' . $url . '">';
}
$out .= '<img data-original="'. $image_thumb[0] .'" src="'.$loader.'" alt="'.$alt.'" title="'.$title.'" '.$hwstring.' class="align'.$align.' size-'.$size.' wp-image-'.$id.' lazy"/>';
if($url){
$out .= '</a>';
}
return $out; // the result HTML
}
 
add_filter('image_send_to_editor', 'rudr_custom_html_template', 1, 8);
и такой
PHP
1
2
3
4
5
6
7
function alter_att_attributes_wpse($attr) {
  $attr['data-original'] = $attr['src'];
  $attr['src'] = '/wp-content/themes/tester/images/transparant.gif';
  $attr['class'] = 'lazy';
  $attr['srcset'] = ' ';
  return $attr;
}
В результате при загрузке нового изображения в статье, оно загружается как миниатюра и нормально срабатывает отложенная загрузка, но пропадает адаптивная верстка. Если ставить изображение большое в настройках при загрузке, то возвращается адаптивная верстка, но не срабатывает отложенная загрузка.
Подскажите, кто знает
1. Как в PHP код добавить функцию wp_get_attachment_image_srcset() чтобы срабатывала отложенная загрузка в адаптивной верстке.
2. В скрипте размещенном в футуре не срабатывает отложенная загрузка на видео, что не так?
3. Можно ли как то автоматом изменить существующие на сайте изображения, чтобы грузились отложено (подставлялись необходимые атрибуты отложенной загрузки)?
Вот ссылка на тестовый сайт
http://mysaita.ru/mgtex/mgtex.html
В открытом коде страницы видно, что если изображение грузится адаптивное, то не подставляются все необходимые данные из PHP функции.
HTML5
1
2
3
<img class="aligncenter wp-image-34 size-large lazy" title="" src="http://mysaita.ru/mgtex/wp-content/plugins/home/u55576/mysaita.ru/www/mgtex/wp-content/themes/modality/functions/loading-rect.gif" alt="Текстиль для гостиниц" width="1024" height="384" data-original="http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textel-dly-gostinic-1024x384.jpg" /><br />
&nbsp;<br />
<img class="lazy aligncenter wp-image-40 size-large" src="http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-1024x384.jpg" alt="Текстиль полотенца" width="1024" height="384" data-original="http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-1024x384.jpg" srcset="http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-1024x384.jpg 1024w, http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-300x113.jpg 300w, http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-150x56.jpg 150w, http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca-768x288.jpg 768w, http://mysaita.ru/mgtex/wp-content/uploads/2018/09/textile-polotenca.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
Из кода страницы видно, что в первом случае все необходимые атрибуты подставляются и все срабатывает, кроме адаптивной верстки, а во втором отложенная загрузка не работает.
Всем заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2018, 14:51
Ответы с готовыми решениями:

Как реализовать отложенную загрузку внешних js ?
Приветствую, прочитал в статье про отложенную загрузку внешних js, но у меня подключаемые файлы имеют атрибуты...

Как сделать свои кнопки социальных сетей с счетчиком без плагинов. WP
Здравствуйте уважаемые форумчане. Возник вопрос при написании социальных кнопок для сайта. А именно как сделать свои социальные кнопки с...

Как сделать последовательную загрузку картинок в разные Image без повторения предыдущих?
Пишу игру 21(очко) и стала задача заливать в Image нужную карту из моей папки с картинками карт, если место занято - то заливать в...

4
 Аватар для HectorPrima
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
27.11.2018, 10:12
Расскажите в чем суть "без плагинов"?
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 11
27.11.2018, 10:26  [ТС]
Не устанавливая плагины отложенной загрузки изображений wordpress, типа:
BJ Lazy Load
a3 Lazy Load
Rocket Lazy Load
и т. д.
0
 Аватар для HectorPrima
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
27.11.2018, 10:29
Ага. Т.е. решение есть но вы его использовать не хотите. Хотите "большого и чистого"

Не по теме:

Ну а нас то зачем в это втягивать :)

0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 11
27.11.2018, 11:21  [ТС]
Раз никто не сталкивался и решения нет буду использовать то что есть, шаблонное решение. Всем спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2018, 11:21
Помогаю со студенческими работами здесь

Как реализовать загрузку txt файла на сервер с технологией Drag and Drop? (на примере готовых js плагинов)
Всем привет. Как реализовать загрузку txt файла на сервер с помощью технологии Drag and Drop? Я уже в конец запутался и не знаю, как...

Как реализовать авторизацию через вк, напрямую без плагинов на вордпресс?
Не могу реализовать, авторизацию через :&quot;Вконтакте&quot; на прямую. В прошлом была авторизация через соц сети, на месте указанном как на...

Как включить кеширование и сжатие кода и картинок без плагинов?
Записать в файл wp-config.php define( 'ENFORCE_GZIP', true ); define( 'WP_CACHE', true ); define( 'COMPRESS_CSS', true ); ...

Как перенести сайт WordPress на другой хостинг без плагинов?
У меня сайт находится на бюджетном хостинге и плагины по резервном копированию сайта не работают. Я делаю копию сайта через FTP (ПО...

Как без плагинов можно загрузить файл к посту в вордпрес?
как без плагинов можно загрузить файл к посту в вордпрес


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru