The module is active but nothing shows on the site
The module is installed, it appears in the list, it is enabled and its settings page responds. Yet the store shows no trace of it. Almost always this isn’t a bug in the module: it is hooked nowhere, or the theme never calls the place where it hooked in.
What you observe
- The module is listed, enabled, and its settings save normally
- Nothing appears on the page where it should, in any browser
- The block shows on one page but not on another of the same type
- It displayed before a theme change, and not after
- It shows for you when logged in as admin, but not for a visitor
On PrestaShop: the module isn’t hooked, or not in the right place
A PrestaShop module only appears if it is attached to a hook point, and that attachment is recorded in the database at install time. If installation partly failed, or the module was dropped in manually, it can be active while hooked nowhere. The admin’s «Positions» page lists these attachments and lets you hook a module onto a specific point.
A second cause, even more common since the PrestaShop 1.7 themes: the module is hooked onto a point your theme never calls. Side columns have disappeared from many modern themes; a module designed to render in a left column then stays invisible without raising any error. The module works and produces its content, but no template asks for it.
Third cause: exceptions. The Positions page lets you exclude a module from certain controllers. An exception set long ago, or inherited from a configuration taken over, explains a block present everywhere except on one page.
On WooCommerce: the theme template swallowed the hook
WooCommerce lets a theme replace its templates by copying them into a woocommerce folder inside the theme. That is intended and documented, and it is the most common cause of invisibility: the theme copied the template two years ago, and the copy doesn’t contain the action call your extension hooks onto. The extension runs, finds no anchor, and displays nothing.
Another cause that has become frequent: the cart and checkout blocks. A store using blocks rather than the older shortcodes doesn’t fire the same hook points, and an extension written for the legacy flow doesn’t appear in the new one. The behaviour is normal, but nothing signals it.
Finally, a page cache serves static pages: if the module was enabled after caching, the page served to visitors predates it. That also explains a block visible to you, logged in and therefore not cached, and invisible to everyone else.
The order I check in
-
Clear every cache, then look again
Platform cache, page cache, browser cache, server cache. A fair share of these cases end there, and there is no point digging further before doing it.
-
Check the hook attachment
On PrestaShop, the Positions page; on WordPress, reading the extension’s code to find which action it actually hooks onto.
-
Check that the theme calls that point
I look for the call in the theme templates. If it isn’t there, the problem is in the theme, not in the module.
-
Test with the default theme
Temporarily switching to the theme shipped with the platform settles it in minutes: if the module appears, the cause is in the theme.
Related pages
-
Understanding PrestaShop hooks
How hook points work, essential for placing this kind of problem.
-
A module refuses to install
When the problem is upstream: the module isn’t properly installed at all.
-
Clearing the PrestaShop cache
The full procedure, including when the back office no longer responds.
-
Creating a WordPress child theme
To edit a template without the change vanishing at the next theme update.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.