Newsletter: How to hide newsletter section for subscribed customers

This customization will allow you to hide the Newsletter section on the homepage for customers who are already signed-in with an account and have also signed up for a newsletter in the past. The steps require you to add some liquid code into the file index-newsletter.liquid file.

Regular display:

After a customer has signed-in and also has accepted marketing (already signed-up for your newsletter):

How to:

1

Make a duplicate of your theme

2

Modify index-newsletter.liquid

Open the Code Editor:

From the Sections folder, open index-newsletter.liquid:

As you can see above there is also a similar file under the Snippets folder, be sure to open from the  Sections folder. 

Add the following line of code to the very beginning of the file:

{% unless customer.accepts_marketing %}

Example:

Tip: Add a couple blank lines at the top before adding that line of code. 

Next,

Look for the schema line, we will be adding a line of code above that line:

Once you've located the correct line, add the following code above it:

{% endunless %}

Example:

Save the file:


Customer testing

You can now use a test account that accepts email marketing for checking to see the change. In your customer list, if you are using a test account which you know the password for, verify if this checkbox is selected:

That indicates the account has subscribed to your newsletter. 

Sign-in with that account to test the section. Then you can uncheck that setting and test again, the newsletter section should appear even if they are signed-in.