Skip to content

40% off every licence

See pricing
Reference

Every module, every setting

The Features page makes the argument. This one answers the question you have after it — whether the specific thing you need is in there, and what you can configure about it.

User Panel

Free

The front-end member area, and the endpoint system underneath it. This is the module everything else mounts on.

Panel sections you define

Create your own sections with a label, a unique slug and an icon — none, a default glyph, or one you upload. Group them, and drop external links in between.

Settings
  • Label
  • Slug
  • Icon: none / default / upload
  • Groups
  • External links
Access per section

Each section is open to all signed-in users or to named roles only. A member who may not see a section does not see it in the menu either.

Settings
  • All users
  • Specific roles
Sections that clean up after themselves

A module registers and deregisters its own sections, so switching one off leaves no orphan behind. Links are built correctly on Pretty, Numeric and Plain permalinks, and a rewrite rule that goes missing is rebuilt on the next load.

Nothing to configure

Six dashboard cards

Welcome with configurable text and mini stats, account overview, profile progress with a checklist, active session count, recent activity, and a list of panel destinations. Each has its own switch.

Settings
  • One switch per card
  • Welcome text
The account form, your fields

Nine field types: text, email, password, phone, select, radio, checkbox, textarea, and date-time. Profile, password and avatar are separate services, so a change to one does not touch the others.

Settings
  • Label
  • Placeholder
  • Required
  • Min and max length
  • Custom meta key
  • CSS class
Templates you can override

Header, footer, panel and content templates are all overridable from your own theme, and the user menu has a live preview in the settings screen.

Settings
  • Theme overrides
  • User menu
Fourteen-plus cards in four groups Pro

Account, store, modules and content. A shortcuts grid replaces the plain link list, each card carries its own settings, and the layout is ordered how you want it. A card whose module is off leaves the settings screen and the dashboard together.

Settings
  • Layout order
  • Per-card settings
  • Items shown per card
The panel header Pro

A user card and logout, each with its own switch, plus an icon catalogue with unread badges. The cart icon can hide itself when the cart is empty, which keeps the header from shifting as items are added.

Settings
  • User card
  • Logout
  • Cart icon
  • Hide cart when empty
  • Items per dropdown: 1–10
  • Profile menu endpoint
Avatars, complete Pro

Turn the whole thing off and WordPress handles profile pictures exactly as it does without HUBU. Left on, uploads are restricted to named roles — everyone else still sees an avatar, they just cannot change it — and uploads are re-encoded, which is what actually neutralises a malicious image file.

Settings
  • Master switch
  • Roles that may upload
  • Gravatar and cache days
  • Default image
  • Fallback: initials / mystery / identicon / blank
  • Formats
  • Min and max dimensions
  • Max weight in KB
  • Stored format: WebP / JPEG / PNG
  • Quality
  • Upload rate limit
  • Override site-wide
REST API

A panel REST controller for the operations the front end performs, so anything the dashboard does can be done from outside it.

Nothing to configure

Authentication

Free

Login, registration and recovery on your own page — and the limits that keep an open form from becoming somebody else’s tool.

Four screens, each with its own words

Sign in, sign up, forgot password and check-your-email. Every screen has its own title and subtitle, and the set shares a background image, a logo and an optional tabbed layout.

Settings
  • Title and subtitle per screen
  • Background image
  • Logo
  • Tabbed layout
A form builder on every field

The same builder the account form uses, on the login and registration forms.

Settings
  • Label
  • Placeholder
  • Required
  • Min and max length
  • Custom meta key
  • CSS class
The international phone field

Built on intl-tel-input and driven entirely from settings. Country detection runs on the SERVER — fastest, from a CDN or GeoIP header — or in the BROWSER, which is the correct answer when full-page caching serves the form to logged-out visitors.

Settings
  • Detection: server / browser
  • Initial country
  • Allowed countries
  • Excluded countries
  • Country order
  • Country search
  • National mode
  • Separate dial code
  • Flags
  • Format as you type
  • Format on display
  • Strict mode
A password policy for the whole site

Weak passwords are stopped at the site level rather than left to each member.

Settings
  • Require strong
  • Minimum length
  • Uppercase
  • Lowercase
  • Numbers
  • Special characters
Three independent rate limits

Login, registration and password reset each get their own. The reset and registration caps are what stop somebody making your server send mail or SMS on another person’s behalf.

Settings
  • Attempts
  • Time window
  • Lockout duration
  • Locked-account message
  • Zero to disable
Visitors identified from REMOTE_ADDR only

A spoofed X-Forwarded-For cannot walk past a limit. Trusting the header your proxy actually sets takes one explicit filter, and that opt-in is the point rather than an inconvenience.

Settings
  • hubu/trusted_proxy_headers filter
Registration you control

One master switch, and turning it off does not touch accounts that already exist.

Settings
  • Allow registration
  • Default role
  • Admin notification
  • Privacy policy page and link
  • Required consent
  • Welcome email
Redirects that cannot be turned against you

Dedicated destinations after login, after registration and after a reset. The return URL is carried across steps and judged by a single class, which is what keeps your login link from becoming an open redirect.

Settings
  • Enable and URL, per flow
One-time codes across all three flows Pro

Login, registration and password reset each have their own switch and their own channel, so registration by SMS with password reset by email is a normal configuration rather than a compromise.

Settings
  • Switch per flow
  • Channel per flow: email / SMS
  • Password login on or off
A code policy that closes off abuse Pro

A resend re-sends the LIVE code instead of replacing it, so a member who presses it twice does not lock themselves out — one of six published architecture decisions, with tests behind it.

Settings
  • Code length
  • Expiry in minutes
  • Attempt limit
  • Request limit
  • Per-IP request limit
  • Minimum resend interval
  • Resend limit
Fully passwordless Pro

Turn password login off and the site has no password to forget, reset or leak. Behaviour in every combination of these settings is defined by a decision table and tested.

Settings
  • Password login switch

Notifications

Free

The delivery layer. Not a module you switch on — it is core, and everything that sends anything goes through it.

Queued, never inside the request

Delivery runs on Action Scheduler, so a message is never sent in the request that created it. Publishing to ten thousand members takes as long as publishing to ten.

Nothing to configure

A template registry

Every template has an editable subject and body, a legend of the variables available to it, and declared required variables — so a template missing a variable fails at edit time rather than in someone’s inbox.

Settings
  • Subject
  • Body
  • HTML or plain text
Sender identity and email graphics

What your members see in the From line, and what the message looks like around your words.

Settings
  • From name
  • From email
  • Reply-To
  • Logo
  • Signature
  • Footer text
  • Template
A delivery log

A table of what was sent, so a member saying “I never got it” is a question you can answer rather than a guess.

Nothing to configure

A channel registry

Email ships. A new channel registers itself rather than being patched in, which is how the SMS module adds one.

Settings
  • hubu/ filters

Asset Cleanup

Free, with Pro depth

The mechanism behind “works with any theme”. It is the reason that sentence is a switch you can point at rather than a claim you have to take on faith.

Strip theme assets from the screens that matter

Theme and child-theme CSS and JS stop loading on panel pages and on the authentication screens, independently. Panel pages get lighter as a side effect, not as a promise.

Settings
  • Master switch
  • Panel pages
  • Authentication pages
A dependency guard

Removing a handle does not break the handles that depended on it. It has its own unit tests, because the failure mode is a blank screen.

Nothing to configure

A switch per plugin Pro

The list is built from your own plugins directory rather than from a maintained allow-list, so a plugin you installed yesterday is already in it.

Settings
  • One switch per installed plugin
Scan the page, then decide Pro

“Scan panel page” and “scan auth page” report the handles that ACTUALLY loaded, and you tick what to remove. You stop guessing which plugin broke the layout.

Settings
  • Scan panel page
  • Scan auth page
Advanced rules Pro

For the asset that has no handle worth naming, or a handle that changes between versions.

Settings
  • By handle
  • By URL fragment
  • Type: style / script / both

WooCommerce

Free, with Pro depth

My Account becomes native panel sections. The module only appears when WooCommerce is active; otherwise it is disabled with an explanation rather than shown as a broken option.

My Account, as panel sections

Orders, downloads, addresses, account details, payment methods and logout, with matching icons and styling.

Nothing to configure

WooCommerce’s hooks keep firing

HUBU adds endpoints; it does not replace them. The extensions that add to My Account keep working, and the Overview page names any slug both plugins have claimed.

Nothing to configure

Store cards on the dashboard Pro

Recent orders with status and total, how many orders sit at each stage, the current cart with totals and a checkout button, the downloads a purchase unlocked, and cross-sells from past purchases that fall back to featured and then to newest.

Settings
  • One switch per card
  • Items shown per card
Panel styles for Woo’s own markup Pro

The design system extends to WooCommerce’s tables and forms inside the panel, so the parts we did not draw stop looking like the parts we did.

Settings
  • Panel styles switch
Product-buyer audiences Pro

Announcements and private messages can be addressed to everyone who bought a particular product, resolved from your own order history.

Settings
  • Product picker

Announcements

Pro

One-to-many messages that live in the panel, with read tracking. The thing email cannot tell you is who opened it.

Audience Pro

Everyone, named roles, or buyers of a specific WooCommerce product — and a preview shows how many people that is before you publish.

Settings
  • Everyone
  • Specific roles
  • Product buyers
  • Recipient count preview
Content and emphasis Pro

A title, an icon with its own colour and background, and a body. Pin what matters and it stays at the top.

Settings
  • Title
  • Icon
  • Icon colour
  • Icon background
  • Body
  • Pinned
Publishing and scheduling Pro

Draft, published or scheduled with a time, so a campaign is planned rather than remembered.

Settings
  • Status
  • Publish time
Also notify by Pro

Pick the channels that fire when it publishes. Leave it empty and the announcement stays in the panel only, which is the right answer more often than it sounds.

Settings
  • Email
  • SMS
  • None
Per-user read tracking Pro

You know who saw it. Unread items are emphasised in the panel, on the dashboard card and on the header badge.

Nothing to configure

Management that tells you where you are Pro

Stat tiles for total, published, scheduled, drafts and pinned, plus filters and an empty state that offers the next action rather than a shrug.

Settings
  • Filters

Private Messages

Pro

One-to-one messages with attachments, read in the member’s own panel. Admin to member, with read tracking — members do not reply.

Recipients, precisely Pro

Named users, roles, or product buyers — with a preview and a recipient count before you publish.

Settings
  • Specific users
  • Specific roles
  • Product buyers
  • Audience preview
Personalisation Pro

Variables inside the message body, with a reference field in the admin so you are not guessing the names.

Settings
  • Variables
  • Variables reference
Attachments, with limits Pro

Invoices, contracts, personal files — without losing control of disk. Downloads are streamed, orphans are swept, and storage health is checked.

Settings
  • Max file count
  • Max size per file in MB
  • Max total size
The body never enters an email Pro

Ticking a channel sends a notice and a link, not the message. A compromised inbox does not expose what you wrote, and the admin screen says so where you tick it.

Settings
  • Email notice
  • SMS notice
Delivery you can see and re-run Pro

A status column detects a stalled delivery and offers to run it again, so a jammed queue is something you fix rather than something you discover from a support ticket.

Settings
  • Re-run delivery

SMS Gateway

Pro

One gateway configuration for every message the site sends. Connect it once and one-time codes, announcements and panel notices all go out through it.

IPPanel and Twilio ship ready Pro

A gateway registry with capability-based interfaces. Adding your own carrier means implementing one interface — you are not waiting on us, and these two are the reference implementations to read.

Settings
  • Gateway
  • Credentials
  • Sender
Pattern-based sending Pro

For carriers that require pre-approved templates. Each provider parameter binds to a message variable or to a fixed value, and the approved patterns are read from your own provider account rather than typed in twice.

Settings
  • Pattern code
  • Parameter map
  • Variable or fixed value
A status table that names the problem Pro

Health badges per pattern: off, no code set, not approved by the provider, or pattern-only — plus the last send. You find out here rather than from a member who did not get a code.

Nothing to configure

A pattern tester Pro

Send one to yourself before a real user is involved.

Settings
  • Test recipient
Voice codes, and an honest fallback Pro

A voice channel on gateways that support it. Where a gateway has no pattern support, messages fall back to free text — and the admin says so plainly rather than failing quietly.

Settings
  • Voice channel

Appearance and theming

Pro

The panel on your brand, from settings, without a child theme or a line of CSS — and custom CSS for the edge case that needs it anyway.

Colour and theme Pro

One primary colour drives buttons, links, the active menu item and highlights. Theme follows each visitor’s own operating system if you let it.

Settings
  • Primary colour
  • Theme: light / dark / system
  • Skin: default / bordered
  • Semi-dark menu
Layout Pro

The starting state of the side menu — members can still toggle it while browsing — and how the navbar and content behave.

Settings
  • Menu: expanded / collapsed
  • Navbar: sticky / static / hidden
  • Content: wide / compact
Typography Pro

Independent settings for the panel and for the authentication screens. A Google font stylesheet is loaded ONLY when one is actually needed, so leaving the default alone costs no extra request.

Settings
  • Panel typography
  • Auth typography
  • Font family
  • Custom font registration
Custom CSS Pro

Two separate fields, one for the panel and one for authentication. Your edge case gets solved without a fork or a child theme.

Settings
  • Panel CSS
  • Auth CSS

The admin experience and the foundations

Free

What happens when something is wrong, what happens when you install it, and what happens when you delete it.

An Overview page that diagnoses

Six checks, each with a precise message and a fix button: no published page assigned to the panel, none assigned to authentication, permalinks set to Plain — which 404s every section — sections with no rewrite rule, slugs claimed by both HUBU and WooCommerce, and theme assets still loading on the panel.

Settings
  • Fix buttons
Status at a glance

Tiles for the user panel, authentication, the active modules and the installed version — so “which of these is on?” is answered on the page you already have open.

Nothing to configure

Setup on activation

The panel and authentication pages are created if they do not already exist, with a dedicated installer for the panel page. You assign them; you do not build them.

Nothing to configure

Requirements

No special PHP extensions, no cron requirement beyond WordPress’s own, and no external service unless you enable SMS.

Settings
  • PHP 8.0+
  • WordPress 6.5+
  • GPLv3
Architecture, written down

Domain, application and infrastructure layers with a dependency-injection container and typed exceptions, unit tests inside every module, and six published architecture decision records covering response shape, error behaviour, hook stability and code semantics. It passes WordPress.org’s own plugin-check tooling.

Settings
  • hubu/ filters
  • Endpoint provider interface
  • Gateway interface
  • Template registry
Translation that survives an update

Every string is translatable on the hubu text domain. Put your files in wp-content/languages/plugins/ and a plugin update will not overwrite them. RTL layouts are mirrored rather than patched.

Settings
  • hubu text domain
Privacy

Nothing is sent anywhere while a visitor simply browses. The only outbound calls are connecting your site to your account, checking the licence and fetching an update — each triggered by an explicit action in the admin.

Nothing to configure

Uninstalling does not delete your data

Deleting the plugin leaves your settings, your user data and your tables in place, and reinstalling picks up where you left off. A clean removal happens only if you explicitly opt in from a must-use plugin — which is deliberately more work than a checkbox.

Settings
  • Explicit opt-in

Read the list, then use it

The free version covers four of these modules. Install it, switch one on, and see whether the reference matches the reality — it should.