How the Portal Page Works #
> Version note: The portal being backed by a real WordPress page was introduced in v1.2.1. In v1.0.x and v1.2.0, the portal URL was handled through a custom rewrite rule and a manually configured slug, without a real WordPress page.
The Portal is a WordPress Page #
As of v1.2.1, the customer portal is powered by a real WordPress page. This page contains the [dmsilm_portal] shortcode, which renders the portal interface.
Because it is a real WordPress page:
- Your theme renders the page using its standard page template, including the header, footer, and sidebar
- The WordPress theme’s page title banner shows the Portal Page Title correctly
- The page appears in WordPress’s Pages list (though it is managed by the plugin)
- Standard WordPress SEO plugins recognize it as a page
Automatic Page Creation #
The portal page is created automatically when the plugin is activated. You do not need to create the page yourself.
If the portal page is deleted while the portal is enabled in settings, the plugin automatically recreates it the next time WordPress initializes (on the next page load after deletion).
If you disable the portal in settings and then delete the page, the page will not be recreated until you re-enable the portal.
Page Registration Timing #
The portal page is registered during the WordPress init hook at priority 5. This early registration is required for compatibility with WordPress 6.7.0 and later, which changed how page-based routing is resolved.
The Shortcode #
The shortcode embedded in the portal page is:
[dmsilm_portal]
This shortcode is what renders the full 3-column portal interface. Do not remove this shortcode from the portal page. If you edit the portal page manually in the WordPress page editor and accidentally remove the shortcode, the portal page will appear blank. Deleting and allowing the plugin to recreate the page is the easiest way to restore it.
URL Structure #
The base URL of the portal is read from the WordPress page’s permalink. The section and view are passed as query parameters:
https://yoursite.com/my-portal/?section=licenses&view=active
