In the past, you could override the .hbs template for and Discourse Route or Component by adding an identically named file in the templates/ directory of your theme and plugin. This was very powerful, but also came with significant maintainability issues.
Therefore, we’ve been recommending against template overrides over the last few years, and officially deprecated them in November 2024. Nowadays, the better solution is to use Wrapper Plugin Outlets to render content in place of core content.
This month (March 2025) we will be introducing an admin warning banner for template overrides, and plan to fully remove support before the end of Q2.
Timeline
(estimated dates - subject to change)
November 2024 - deprecation introduced
March 2025 - admin warning banner enabled
June 2025 - expected removal
Upgrading themes / plugins
Theme and plugin developers should refer to the Plugin Outlet guide to learn more about wrapper plugin outlets. Feel free to open PRs or Dev topics if you’d like to request a new extension point for your use-case.
Is there a way to easily see which theme/plugin is triggering this admin notice? I looked through all of my themes and plugins and don’t see a templates/ directory in the root of their Git repositories for any of them.
No, I just decided to disable the form entirely. I don’t think anyone in my community uses it and I don’t really see the usefulness. I saw the component author proposed an update that requires a core change, so it’ll probably be working again soon.
does it mean that the experimental user card will be introduced into core before this fully deprecates? I currently get this warning for this component GitHub - discourse/experimental-usercard
We’ve archived the experimental-usercard repository, and don’t intend to update the theme component any further. So I’m afraid you will need to disable it before template overrides are blocked in June 2025.
We do hope to incorporate some of the experiment into core at some point, but don’t have a specific timeline on that. The user-card is a very heavily-customized part of the UI, so landing large changes to it will require careful planning and changes across the ecosystem.