Advanced Custom Fields Image Object Tutorial
Advanced Custom Fields Image Object Tutorial
If you’ve been on the site a bit, you’ve probably seen a post about Advanced Custom Fields. It’s safe to say it’s my favorite WordPress plugin ever invented and a staple in every site I develop. Today we’re going to take a look at the image array and how to utilize it.
I will be the first to admit it, when I started using ACF over four years ago, I didn’t want to mess with the image object. There was a simple option to just output the image URL and I used that about every time. That wasn’t smart!
I can’t tell you how many times that came back to bite me when I needed to grab a different size image thumbnail. With that said, unless you are POSITIVE you only need the image URL, always select to return the image array:
Utilizing The Image Object
The image object will return an array of the image attributes and sizes such as:
$imageobject = get_field('featured_image'); var_dump($imageobject); /* output: array(9) { ["id"]=>int(5) ["alt"]=>string(4) "Test" ["title"]=>string(2) "29" ["caption"]=>string(0) "" ["description"]=>string(0) "" ["url"]=>string(67) "http://localhost:8888/site/wp-content/uploads/2015/10/29.jpg" ["width"]=>int(1280) ["height"]=>int(960) ["sizes"]=>array(18) { ["thumbnail"]=>string(75) "http://localhost:8888/site/wp-content/uploads/2015/10/29-150x150.jpg" ["thumbnail-width"]=>int(150) ["thumbnail-height"]=>int(150) ["medium"]=>string(75) "http://localhost:8888/site/wp-content/uploads/2015/10/29-300x225.jpg" ["medium-width"]=>int(300) ["medium-height"]=>int(225) ["large"]=>string(76) "http://localhost:8888/site/wp-content/uploads/2015/10/29-1024x768.jpg" ["large-width"]=>int(1024) ["large-height"]=>int(768) ["bones-thumb-600"]=>string(75) "http://localhost:8888/site/wp-content/uploads/2015/10/29-600x150.jpg" ["bones-thumb-600-width"]=>int(600) ["bones-thumb-600-height"]=>int(150) ["bones-thumb-300"]=>string(75) "http://localhost:8888/site/wp-content/uploads/2015/10/29-300x100.jpg" ["bones-thumb-300-width"]=>int(300) ["bones-thumb-300-height"]=>int(100) ["post-thumbnail"]=>string(75) "http://localhost:8888/site/wp-content/uploads/2015/10/29-125x125.jpg" ["post-thumbnail-width"]=>int(125) ["post-thumbnail-height"]=>int(125) } } */
Once you’ve got the image array, it’s pretty simple to output anything you’d like. An example might be:
<img src="<?php echo $imageobject['sizes']['large'];?>" alt="<?php echo $imageobject['alt']; ?>">
Pretty straight forward right? Getting familiar with the image object and image arrays can save you a lot of headache down the road.
Share Your Thoughts