# Non-Public posts messing with front page?

**URL:** <https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861>\
**Category:** Developer help\
**Created:** [January 30, 2025, 7:25pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861 "2025-01-30T19:25:27Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [January 30, 2025, 7:25pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/1 "2025-01-30T19:25:27Z")

</div>

I’m using the Ruby theme and all is going well until I categorize a post as Members-only. When I do that, the thumbnail changes dimension and the title and excerpt disappear for non-members. Page looks fine to people logged in.

You can see the issue here: [https://volver.ca](https://volver.ca) — the first image is elongated and missing any text. If you’re looking on a phone, the posts that come next format correctly. If you’re looking on a computer, all entries in the first row look wonky.

When I change the status to Public, it fixes itself.

Any way to fix this? Thank you.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [January 30, 2025, 7:41pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/2 "2025-01-30T19:41:45Z")

</div>

I’m a Ruby user, although it’s a slightly older version, and I’ve never seen this.

Did you make edits to the theme? It appears that that first post is broken because it is trying to put the full post content (including the CTA) onto the page. (You can see if it you inspect the HTML on the page.)

Alternative guess - something is really wrong with how the custom excerpt is being generated.

---

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [January 30, 2025, 10:28pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/3 "2025-01-30T22:28:28Z")

</div>

I did make some edits as seen in my previous request for help, but nothing that I thought affected the Member-only posts. Hmm. Very confused by this.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [January 31, 2025, 12:21am UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/4 "2025-01-31T00:21:02Z")

</div>

Post the loop that creates the cards?

---

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [January 31, 2025, 1:57pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/5 "2025-01-31T13:57:46Z")

</div>

I’m not even sure how to do that. I’m such a noob at this, constantly fumbling about. 🙂

Here’s my loop file:

```auto
<style>
.post-feed .featured .post-wrapper {
  flex-direction: column;
  justify-content: flex-end;
}

.post-feed .featured .post-excerpt {
  /* The excerpt is hidden by default on featured posts. We don't want to do that */
  display: unset;
}
</style>

<article class="{{post_class}} featured u-shadow"{{#if primary_tag.accent_color}} style="--tag-color: {{primary_tag.accent_color}};"{{/if}}>
<a class="post-link" href="{{url}}">
    {{#if feature_image}}
        <img
            class="post-image u-object-fit"
            src="{{img_url feature_image}}"
            alt="{{title}}"
            loading="lazy"
        >
    {{/if}}
    <div class="post-wrapper">
        <header class="post-header">
            {{#primary_tag}}
                <span class="post-tag">{{name}}</span>
            {{/primary_tag}}

            <h2 class="post-title">
                {{title}}
            </h2>
        </header>

        {{#if excerpt}}
            <div class="post-excerpt">
                {{content words="20"}}
            </div>
        {{/if}}
    </div>

    <footer class="post-footer">
         <span class="post-more"> 
            {{#if excerpt}}
                {{excerpt words="5"}}
        {{/if}}
        </span>

    </footer>
</a>
</article>

```

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [January 31, 2025, 4:19pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/6 "2025-01-31T16:19:01Z")

</div>

As an FYI, you’re writing that style section out for every card. You might want to relocate it.

This section here is your problem. You’re calling ‘content’,

```auto
        {{#if excerpt}}
            <div class="post-excerpt">
                {{content words="20"}}
            </div>
        {{/if}}

```

But because the post is restricted access, you get a whole CTA shoved in there, along with everything above the paywall. (It doesn’t appear that ‘words’ is working correctly. That probably needs a bug filed…)

You can replace the `{{content words="20"}}` with `{{excerpt words="20"}}`, which should fix the behavior.

---

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [February 1, 2025, 7:19pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/8 "2025-02-01T19:19:48Z")

</div>

Thanks so much, Cathy! That seems to have worked!

---

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [February 1, 2025, 7:21pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/9 "2025-02-01T19:21:42Z")

</div>

> [@Cathy\_Sarisky](#):
>
> As an FYI, you’re writing that style section out for every card. You might want to relocate it.

I know this is probably a ridiculously stupid question, but… should I just paste it into an existing css file or… ?

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [February 1, 2025, 7:41pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/10 "2025-02-01T19:41:22Z")

</div>

Most themes, including Ruby, need their css compiled. If you just want to make a few tweaks, putting one copy (within style tags of course) into default.hbs or just putting it in site wide code injection is simplest. You don’t really want it in that loop because then ghost writes it out repeatedly. :)

---

<div class="post-metadata">

**Author:** ![Lincoln\_Stewart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/lincoln_stewart/32/30409_2.png) [@Lincoln\_Stewart](https://forum.ghost.org/u/Lincoln_Stewart)\
**Post date:** [February 9, 2025, 8:04pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/11 "2025-02-09T20:04:44Z")

</div>

Unfortunately, I had to revisit this issue because I realized this solution:

_You can replace the `{{content words="20"}}` with `{{excerpt words="20"}}`, which should fix the behavior._

which did fix the display issue had the excerpt appearing rather than the first 20 words of the content. I need the content to appear, not the excerpt. In my posts the excerpt is the price (or the word sold). The content is the condition of the item for sale. With Cathy’s fix, the excerpt was appearing twice, though it did fix the display issue.

Is there a way to keep my initial Loop file (posted above) but have the corrected code Cathy\_Sarisky posted to sub in for a featured post? Then I will just make all my members-only posts featured posts as I don’t use the featured post function otherwise?

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [February 9, 2025, 8:10pm UTC](https://forum.ghost.org/t/non-public-posts-messing-with-front-page/54861/12 "2025-02-09T20:10:36Z")

</div>

If you have the post set to members only, you cannot get the content. You can get the start of the content plus the paywall text if you’ve added a public preview card. I’m suspicious that words is not working well with the paywall card, but haven’t made time to test.
