Refresh Theme - How to move Sold Out badge to below the price on Search Results page & Collection page?
NOTE: The “Available in stock” is a custom badge added on the Product Page.
Goal: Move the “Sold Out” badge to appear below the price on Collection and Search result product cards in the Refresh theme (currently overlays the product image). A screenshot was shared; the “Available in stock” badge is a separate custom badge on the Product page.
Proposed solutions:
{% render 'product-badge', product: product %} from near the top of the card and paste it after {% render 'price', product: product, price_class: 'price--large' %}. This reorders HTML so the badge renders under the price..card__badge in row 3.Requests for access: Several participants asked for the store URL (and password if protected). The product card code was requested; a GitHub repo link was provided by the OP.
Status: No confirmation of a working fix yet; awaiting store details/feedback. The code-reorder approach targets both Collection and Search if they share the same product card snippet.
Refresh Theme - How to move Sold Out badge to below the price on Search Results page & Collection page?
NOTE: The “Available in stock” is a custom badge added on the Product Page.
In order to move the Sold Out badge under the product price on the collection page and the Search page, is the theme level coding required. Because now the badge is overlay on the product card image. If it was the part of the whole card, then it was possible to fix it with the help of coding.
But currently, it’s requires to add the badge coding under the product price for the product card only.
Can you share the all coding of product-card.liquid or related file via github then I can share the updated code with the solution.
[email removed]TheScriptFlow_1Shopify Partner
Not sure if I uploaded correctly on Github:** GitHub - wangsuki/TurboTurbos-Sold-Out-Badge
Hi, @TurboTurbos
Can you please share the store URL so I can better support you?
Please add this code to the Custom CSS section in the theme settings.
.card--card:has(.price--sold-out) .card__inner .card__badge { display: none !important; }
Best regards,
Dan from Ryviu: Product Reviews App
Hi @TurboTurbos
Please share your store URL and password (if it’s password-protected),
so that I can check and provide you with the exact solution.
Best regards,
Devcoder ![]()
@TurboTurbos can you please share your website link?
Hi @TurboTurbos ,
In the Refresh theme, the “Sold out” badge is positioned at the top of the product card by default because it is rendered before the pricing block. To move it below the price, you need to reorder the HTML inside your product card snippet.
Steps to move the Sold-Out badge below the price
snippets/card-product.liquid{%- render 'product-badge', product: product -%}
It will be near the top of the card.
{%- render 'price', product: product, price_class: 'price--large' -%}
Your structure should look like this:
{%- render 'price', product: product, price_class: 'price--large' -%}
{%- render 'product-badge', product: product -%}
This hides the badge, but doesn’t relocate it as OP has requested.
Please add more this code
.card--card.card--media>.card__content .card__badge {
display: flex !important;
grid-row-start: 3 !important;
margin-top: -12px !important;
}
Best regards,
Dan from Ryviu: Product Reviews App