# Load More Button

**URL:** https://meta.discourse.org/t/load-more-button/402049
**Category:** Theme component
**Created:** [May 1, 2026, 10:41pm UTC](https://meta.discourse.org/t/load-more-button/402049 "2026-05-01T22:41:15Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [May 1, 2026, 10:41pm UTC](https://meta.discourse.org/t/load-more-button/402049/1 "2026-05-01T22:41:15Z")

</div>

| | | |
| --- | --- | --- |
| ℹ | **Summary** | Inserts a “load more” button that needs to be clicked to load more topics / posts / users / groups / whatever |
| 👓 | **Preview** | [https://discourse.theme-creator.io/theme/RGJ/load-more-button](https://discourse.theme-creator.io/theme/RGJ/load-more-button) |
| 🛠 | **Repository** | [GitHub - communiteq/discourse-tc-load-more-button · GitHub](https://github.com/communiteq/discourse-tc-load-more-button) |
| ❓ | **Install Guide** | [How to install a theme or theme component](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682) |
| 📖 | **New to Discourse Themes?** | [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) |

Install this theme component

Inserts a “Load More” button to make sure Discourse does not qualify as “DISPLAYS ADDITIONAL MEDIA AT THE BOTTOM OF SUCH FEED OR LANDING PAGE WITHOUT ANY MANUAL INPUT FROM A COVERED USER.”

Context here [Time to reconsider infinite scroll?](https://meta.discourse.org/t/time-to-reconsider-infinite-scroll/401984)

## Topic list

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/c/0/0c01d287f43beb2fffb2572a18edfa3b3a53498b.png)

## Topic view

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/9/a/49a77eee6a065fc138efc7fa35b9638c66b62cbf.png)

## User directory

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/f/4/4f487195ffc4f48ea7b1e0c4e3d9ccae322ad993.png)

Detailed description…

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [May 1, 2026, 10:50pm UTC](https://meta.discourse.org/t/load-more-button/402049/2 "2026-05-01T22:50:15Z")

</div>

haha nice! i was thinking about giving this a shot too - was thinking of putting the button in the sidebar or floating it. well done 👏

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [May 1, 2026, 11:27pm UTC](https://meta.discourse.org/t/load-more-button/402049/3 "2026-05-01T23:27:07Z")

</div>

![Screenshot20260502012533Chrome](https://global.discourse-cdn.com/meta/original/4X/1/1/8/118542d1792552072033581ede5b0d6ed7fc0467.jpeg)  
Button’s hard to reach with (right) thumb on mobile 🙂

It would be better centered.

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [May 2, 2026, 12:12am UTC](https://meta.discourse.org/t/load-more-button/402049/4 "2026-05-02T00:12:33Z")

</div>

to centre on mobile:

```scss
@use "lib/viewport";

@include viewport.until(md) {

  .load-more-btn.btn.btn-primary {
    display: block;
    margin: 0 auto;   
  }
}

```

PR:

[https://github.com/communiteq/discourse-tc-load-more-button/pull/2/changes](https://github.com/communiteq/discourse-tc-load-more-button/pull/2/changes)

---

<div class="post-metadata">

### Author: ![mcmcclur](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcmcclur/32/115456_2.png) [@mcmcclur](https://meta.discourse.org/u/mcmcclur)
#### Post date: [May 2, 2026, 12:59am UTC](https://meta.discourse.org/t/load-more-button/402049/5 "2026-05-02T00:59:47Z")

</div>

This is very nice - thanks! I do have a bug report which is clearly manifest at my Discourse site:

> **[Discourse at Mark's Math](https://discourse.marksmath.org/)**
>
> A forum for Mark's students to talk about math

This site is quite small and most of the content is hidden until one signs on as a student. Thus, the landing page has only five posts. Nonetheless, the “Load more” button appears, which it shouldn’t. If you press it, it goes away. If you scroll up a bit and then back down, then it’s back again.

It works great, though, on the topic pages. You’ll have to trust me on that since they’re hidden from public view.

Of course, I understand that you did this in your spare time but I thought I should let you know. And thanks again!

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [May 2, 2026, 6:20am UTC](https://meta.discourse.org/t/load-more-button/402049/6 "2026-05-02T06:20:32Z")

</div>

> [@mcmcclur](#):
>
> Nonetheless, the “Load more” button appears, which it shouldn’t.

The button merely exposes a bug in core where `DiscoveryTopics` [does not pass](https://github.com/discourse/discourse/blob/5dd238174dc3aeba121fca185ebd1981b2803c23/frontend/discourse/app/components/discovery/topics.gjs#L277) the `canLoadMore` model property to the `LoadMore` component. Unfortunately this is not something that can be handled in this theme component.

> [@Lilly](#):
>
> to centre on mobile:

Thank you, merged!

---

<div class="post-metadata">

### Author: ![eisammy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eisammy/32/528804_2.png) [@eisammy](https://meta.discourse.org/u/eisammy)
#### Post date: [May 2, 2026, 6:41am UTC](https://meta.discourse.org/t/load-more-button/402049/7 "2026-05-02T06:41:35Z")

</div>

That’s quite interesting. One question: does this affect Core Web Vitals? It’s almost like a middle ground for pagination. I like giving users the power to load more content, reducing reliance on DOM scrolling, while I assume it also results in slightly lower loading latency. Or am I mistaken?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [May 2, 2026, 7:09am UTC](https://meta.discourse.org/t/load-more-button/402049/8 "2026-05-02T07:09:44Z")

</div>

All it does is insert a button into the flow. I don’t see how this reduces core web vitals, or loading latency (it’s not preloading anything). Also, it still uses the IntersectionObserver to know when and where the button needs to appear, so it still relies on DOM scrolling.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [May 3, 2026, 4:05pm UTC](https://meta.discourse.org/t/load-more-button/402049/9 "2026-05-03T16:05:39Z")

</div>

> [@RGJ](#):
>
> > [@mcmcclur](#):
> >
> > Nonetheless, the “Load more” button appears, which it shouldn’t.
> 
> The button merely exposes a bug in core where `DiscoveryTopics` [does not pass](https://github.com/discourse/discourse/blob/5dd238174dc3aeba121fca185ebd1981b2803c23/frontend/discourse/app/components/discovery/topics.gjs#L277) the `canLoadMore` model property to the `LoadMore` component. Unfortunately this is not something that can be handled in this theme component

Couldn’t they use some CSS to hide the button on the landing page for logged out users? For their use case?

I can appreciate this idea couldn’t be made part of the component directly as other sites have more than 5 topics display without a sign up.

Awesome component for the infinite scroll discussion as a fix.

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [May 3, 2026, 4:17pm UTC](https://meta.discourse.org/t/load-more-button/402049/10 "2026-05-03T16:17:16Z")

</div>

i have a fork of the component that already does this, but it’s an edge-case if mcmcclur wants. this component is quite hacky like RGJ said.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [May 3, 2026, 4:28pm UTC](https://meta.discourse.org/t/load-more-button/402049/11 "2026-05-03T16:28:19Z")

</div>

Cool.

Something like this would be cool to have built into core that could be enabled for different areas ie topic list, user lists etc..

This component reminds me of the old “|more” from DOS days when using type to display a text file.
