Part of this is already free and built in. In the product admin, open each color variant and assign its image as the variant image; Horizon then swaps the main image automatically when a shopper picks Black or White. What it will not do natively is hide the other color’s thumbnails — that filtering needs either an app or a code edit to the product media gallery. One free first-party option exists: Shopify Combined Listings gives each color its own product and media set, but it requires Plus.
Thanks for the explanation. Is there a free code solution for the Horizon theme that filters the gallery so only the selected variant’s images are shown, without using a paid app or Shopify Plus?
You just assign the variant image to the variant in Admin product page, then select carousel in the media block settings in Editor. Should only show the variant selected.
This shows only the variant image assigned to the variant selected. You can press the arrows to scroll though the images, and that changes the color selection. It is super easy.
If you are looking for some weird theme code edit to have a grid but hide the grid like the last guy, here is the answer to that:
If one image per colour is enough, you do not need code. Open the Product media block settings and turn on Hide unselected variant media. That hides the other colours’ assigned images, but any unassigned image still shows, which is why the block above exists.
Hi, thank you for sharing this solution. I tried to follow the steps, but I couldn’t get it working. Would you be able to help me implement it on my Horizon theme? I’d really appreciate it. Thank you!
Hi @Firas_Mohamed ,
This is actually a native, free feature in Horizon, no custom code needed. It’s just not obvious where the setting lives.
Step 1: Assign images to each color variant (in Admin)
Go to Products → [your product]
Scroll to the Variants section
Click each variant (e.g. “Black”) and assign it one photo this becomes that variant’s “featured image”
Repeat for every color
Step 2: Turn on the hiding option (in Theme Editor)
Go to Online Store → Themes → Customize
Open a product page
Click on the Media Gallery block (or “Product images” block) in the product section
In its settings, find and enable:
“Hide other variants’ media after selecting a variant”
Save
Once both are done, clicking “Black” will show only the Black image (plus any images not assigned to any variant, which always stay visible), and clicking “White” will switch to only the White one.
Quick clarification, since two different things are getting mixed up here
One image per color → free, no code. Assign each variant its featured image in the admin, then enable “Hide other variants’ media” in the Media Gallery block settings. Done.
Multiple images per color → native can’t do it. Horizon only swaps the one assigned image per variant; every other image stays shared across all colors. That’s the actual issue here, and no toggle fixes it.
For that case, ajaycodewiz’s alt-text + Custom Liquid solution above is the cleanest free route. Firas — if it’s not filtering, it’s almost always one of three things: alt text not matching your color names exactly, browser cache, or a carousel-vs-grid mismatch. Worth checking those first
If you’re using the latest version of the Horizon theme, the first thing I’d recommend is checking whether it already supports variant-specific media. If you’ve assigned images to each color variant in the Shopify admin, some versions of Horizon can display the relevant images automatically without additional customization.
If your version doesn’t support that behavior, it can be achieved with custom Liquid and JavaScript by filtering the product gallery based on the selected variant. The good news is that this doesn’t necessarily require a paid app.
That said, there isn’t a single piece of code that works for every Horizon store. The implementation depends on the specific version of the theme and how its product gallery is structured, so any custom solution usually needs to be tailored to the theme’s markup.
If you’re comfortable editing your theme, sharing your Horizon theme version or a link to your product page would make it easier for the community to suggest a solution that fits your store.
If you found my reply helpful, please consider marking it as the accepted solution so it can help other merchants following this discussion.
Hey there @Firas_Mohamed
Yes you can manage that without a paid app. Horizon does support variant media but it depends on the product images that are attached to variants how that will work.
Once you’ve done that, you’ll need to ensure each product image is linked to the correct color variant in Shopify Admin. Then go to theme editor and look for product media settings and enable Filter media by selected variant if available in your version of Horizon.
If you do not have this option, there is a way to add a little liquid and js code to filter the products gallery by the selected variant. Always duplicate the theme before editing so you can safely test the change.