Shopify themes, liquid, logos, and UX
Hi Everyone,
I'm trying to make the default Shopify search field include Metafield data in search results. I found a post with some code that is supposed to work.
This is the post with the code: https://community.shopify.com/c/shopify-design/make-metafield-vaules-come-up-in-the-search-bar/m-p/1...
{% for product in collections.all.products %}
{% assign metafields = product.metafields %}
{% for metafield in metafields %}
{% if metafield.value contains search %}
<a href="{{ product.url }}">{{ product.title }}</a>
{% endif %}
{% endfor %}
{% endfor %}
I'm a novice when it comes to coding (I can understand it when I read it but that's about it) and my question is: Where do I actually insert the code?
There are so many different sections and theme files that I just can't figure out where it would go to effect the results obtained from the header search field. Any help would be greatly appreciated.
Thanks
Hi @SoCalMacGuy ,
If you use Dawn theme. May I suggest to update code these steps:
1. Go to Store Online-> theme -> edit code
2. Sections/main-search.liquid
3. Follow the screenshot to add code below
{% for product in collections.all.products %}
{% assign metafields = product.metafields %}
{% for metafield in metafields %}
{% if metafield.value contains search.terms %}
<li class="grid__item"><a href="{{ product.url }}">{{ product.title }}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
4. Sections/predictive-search.liquid
5. Follow the screenshot to add code below
{% for product in collections.all.products %}
{% assign metafields = product.metafields %}
{% for metafield in metafields %}
{% if metafield.value contains predictive_search.terms %}
<li><a href="{{ product.url }}">{{ product.title }}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
Thank you for the reply. I wish we were using the Dawn theme as those two section names would make it much easier. Unfortunately they decided on the Momentum theme v3.1.1 and for now that's what I have to work with. They seem to have their own naming conventions for a lot of basic things.
Hey!
Does this only work with your specific theme? It did not work for me. I am not really good with coding, so I do not understand whether I need to adapt the code snippet to include the name of the exact metafield and if so, how?
Any help is appreciated.
Hi @breaddddd ,
It is only work for free themes. If you use a fee theme. We need check structure that theme to insert code.
Hey,
thank you for your reply. I have the BeYours Theme, by RoarTheme. I have the section called "predictive-search.liquid" too. Even though I entered the code snippet there, it did not work for me. Or do I need to publish that code to see it in action? So far I am adding a code to a duplicated theme in my library and then just check the preview.
Hi ,
You try to code below:
{% for product in collections.all.products %}
{% assign metafields = product.metafields.custom %}
{% for metafield in metafields %}
{% assign value = metafield[1] %}
{% if value contains predictive_search.terms %}
<li><a href="{{ product.url }}">{{ product.title }}</a> </li>
{% endif %}
{% endfor %}
{% endfor %}
Hey.
thanks for your help.
I added the following code, as you requested:
{% for product in collections.all.products %}
{% assign metafields = product.metafields.mm-google-shopping.custom_label_0 %}
{% for metafield in metafields %}
{% assign value = metafield[1] %}
{% if metafield.value contains search.terms %}
<li class="grid__item"><a href="{{ product.url }}">{{ product.title }}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
I also tried it without the "key" of the variable and only added the namespace, but that did not work either.
Could you please tell us where to put this on our theme? Couldn't find this line on our main-search but I know it'll work on our theme if we can figure it out. Thanks! Using Canopy
Hi @LAHerb ,
Canopy theme is not the free theme. So I don't know the structure of theme. Could you please let me access your store?
Yeah please, could you request access or what should I invite?
Could you share store url and code to sent a request?
la herb . com
Thanks!
Hi,
I send a request. Could you please help to accept?
I accepted, thanks!
Hi @LAHerb ,
the duplicate featured has been disabled. So I worked on LA Herb theme. You can preview on this theme. If it is ok then you can make do it for live theme. https://laherb.com/?_ab=0&_fd=0&_sc=1&preview_theme_id=149180514557
Not sure it's working? I type in some of the metafield options for alt product names and nothing comes up with that link?
Hi,
This code only work for 20 products in all products, single text type, and namespace: custom. If you use multiple type. You need use an app.
I'm not sure I understand? We are looking for the metafield info to come up in search. We use alternative product names as some items have multiple names. These multiple names are not coming up in search since they are in metafield. I thought this code fixed that?
Sorry missed code part it is 9453. Please let me know so I can change it after. Thanks!
Learn how to build powerful custom workflows in Shopify Flow with expert guidance from ...
By Jacqui May 7, 2025Did You Know? May is named after Maia, the Roman goddess of growth and flourishing! ...
By JasonH May 2, 2025Discover opportunities to improve SEO with new guidance available from Shopify’s growth...
By Jacqui May 1, 2025