A Better Media Sideload Image

media_sideload_image is a WordPress function I have had to use countless times to upload attachments based on a provided URL. Often from Google Maps, but sometimes just from import scripts pointing to a URL. It has always worked well enough, but it has a couple of issues. The main problem is the lack of an ability to provide a filename separate from the image basename. This was especially ugly when generating static Google Maps…especially after Google Started requiring API keys…which WOULD BE SAVED AS PART THE FILE NAME!!!! Anyway, I looked around for a bit and found a really great solution on WordPress Stack Exchange from user Somatic.

It is a fairly large function so I’ll just provide the link: https://wordpress.stackexchange.com/a/44115/57457

Trust me, if you want to use media_sideload_image, use Somatic’s function instead.

Add Lazy Load and Lity Lightbox to content images

We had a client who has thousands of images in their blog posts over the years.

We needed to make sure all of those images have lazy load and appear in a lightbox when clicked.

Obviously this requires you to install a lazy load plugin and a light box plugin. I recommend these:

Lazy Load: http://jquery.eisbehr.de/lazy/

Lity Lightbox: https://sorgalla.com/lity/

Now the code!

 

Download and Update Post Content Images

Sometimes we have clients who have a lot of old blog posts. Often these blog posts have a lot of images in the content. Sometimes they are uploaded locally…sometimes they are not. I actually think serving images from 3rd parties is a great idea to offload the cost to your servers, but sometimes clients will request that we update their blogs so all the images are being served from their site.

Here is a quick script I wrote to do just that.

Good luck!