• Resolved Texiwill

    (@texiwill)


    Hello,

    If I enable Image Lazy load, my thumbnails do not load regardless of the setting I use for thumbnails. Videos are just fine. This worked just fine prior to release 1.5.

    Interestingly enough, it works on Linux Firefox but not on Linux Gnome the most recent Mac Gnome or Firefox, or Windows Firefox or Gnome.

    Seems like something changed that should not have.

    If I disable the Thumbnail lazy load only, only 1 thumbnail appears.

    No JS errors on Linux or Windows in any browser.

    Best regards,
    Edward Haletky

    https://wordpress.org/plugins/a3-lazy-load/

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Contributor Nguyen Tuan

    (@nguyencongtuan)

    Hi Texiwill

    Please give me the page url of that issue so that i can see cause
    I have tested on my local but don’t see any issue like you said

    Regards,
    Nguyen

    Hi, this seems like the same issue we’re having after updating to a3ll 1.5.0 and WP 4.4.

    On category pages we’re loading 10 posts per page, but only the thumbnail for the first one is showing up. From what I can see in the shortcode the problem is that data-src (and also data-lazy-type) is showing up twice in the image tags, except for on the first one. The second data-src points to the placeholder image while the first one is the real post image. The javascript probably catches the second data-src, thereby replacing the placeholder with the placeholder.

    I only updated on my local environment so far, so can’t show you on our live site since it still has the old version. To give you an example:

    <img width="150" height="150" src="//local/wp-content/plugins/a3-lazy-load/assets/images/placeholder.gif" data-lazy-type="image" data-src="//local/wp-content/plugins/a3-lazy-load/assets/images/placeholder.gif" class="lazy lazy-hidden lazy-hidden attachment-thumbnail size-thumbnail wp-post-image" alt="Bingo Legends: Striving to be the Best" title="Bingo Legends: Striving to be the Best" data-src="http://local/path/to/image.gif" data-lazy-type="image" />
    <noscript><img width="150" height="150" src="//local/wp-content/plugins/a3-lazy-load/assets/images/placeholder.gif" class="lazy-hidden attachment-thumbnail size-thumbnail wp-post-image" alt="post title" title="post title" data-src="http://local/path/to/image.gif" data-lazy-type="image" /></noscript>

    As you can see, the img tag in noscript is also getting the placeholder image. I’m guessing it’s running the preg_replace on thumbnails twice for some reason, but can’t see where that would happen. The javsscript part seems to be working, besides catching the wrong data-src. I also noticed the noscript version has the placeholder and then the original image in data-src, looking even more like it runs twice.

    We include the thumbnails like this in the template:

    if (has_post_thumbnail()) {
    the_post_thumbnail( 'thumbnail', array( 'alt' => trim( strip_tags( get_the_title() ) ), 'title' => trim( strip_tags( get_the_title() ) ) ) );
    } else {
    echo "<img src='" . get_stylesheet_directory_uri() . "/images/layout/default-no-image.png' />";
    }

    I tried turning off noscript, but data-src was still showing up twice in the img tags.

    Lazy loading works as expected on other page types, including for example an image gallery – it’s only when looping category posts we’re having an issue with the post thumbnails.

    After some more testing it might not be exactly the same issue as Texiwill has. If I turn off lazy loading for thumbnails the lazy loading works on the post thumbnails on category pages (which it shouldn’t after turning it off), and data-src only shows once in the img attribute.

    EDIT: Without looking too deep in the plugin code, I’m guessing it’s run twice since in class-a3-lazy-load.php you have the wp_get_attachment_image_attributes filter with attributes (row 261), and then also run filter_images() with preg_replace on img tags.

    Plugin Contributor Nguyen Tuan

    (@nguyencongtuan)

    Hi hunefalk

    We just fix the issue and release new version 1.5.1, see the changelog to see

    1.5.1 – 2015/12/11
    * Tweak – Change the placeholder image name from ‘placeholder.gif’ to ‘lazy_placeholder.gif’ to avoid conflict if thumb image has name like placehoder.gif
    * Tweak – Change pattern parameter from “/data-src=[‘\”]/is” to “/ data-src=[‘\”]/is” to check ‘data-src’ exists as attribute of video, image, iframe, Solve the issue when 3rd party script adds attribute with format of name ‘***-data-src’ to html tag.
    * Fix – Use preg_match( “/src=.*lazy_placeholder.gif[‘\”]/s”, $imgHTML ) On themes that have loop code was causing loading of the placeholder instead of the image

    You should upgrade to latest version or manual download it again if don’t see it’s available from your site so that can it need to wait for 24 that show on your Dashboard

    And when you use it, please tell me know if it solves for your issue

    Regards,
    Nguyen

    Looks like the 1.5.1 update fixed my issues. Hopefully the same for Texiwill.

    Thanks for a great plugin 🙂

    Plugin Author Steve Truman

    (@a3rev)

    Hello hunefalk

    Yes your feedback helped us a lot – see the changelog for maintenance update version 1.5.1

    If Texwill can update us about if it fix his issue or change the topic status to [resolved] that would be good

    Thanks again

    Regards
    Steve

    Thread Starter Texiwill

    (@texiwill)

    Hello Steve,

    Yes. 1.5.1 fixed my problem as well. @hunefalk thank-you for going through the code and finding the issue. I ran out of time yesterday to aid more than opening the case.

    Best regards,
    Edward Haletky

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Thumbnails do not load’ is closed to new replies.