PHPackages                             humanmade/hm-user-activation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. humanmade/hm-user-activation

ActiveWordpress-plugin[Authentication &amp; Authorization](/categories/authentication)

humanmade/hm-user-activation
============================

User activation flow handler for the frontend, keeping user activation within a site even on a network.

1.0.0(2mo ago)1187GPL-2.0-or-laterPHP

Since Feb 19Pushed 2mo agoCompare

[ Source](https://github.com/humanmade/hm-user-activation)[ Packagist](https://packagist.org/packages/humanmade/hm-user-activation)[ RSS](/packages/humanmade-hm-user-activation/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

HM User Activation
==================

[](#hm-user-activation)

Replaces WordPress Multisite's default `wp-activate.php` flow with a site-level activation page, customisable emails, and block-based templating.

Requirements
------------

[](#requirements)

- WordPress Multisite
- WordPress 6.5+
- PHP 8.1+

Features
--------

[](#features)

**Site-level activation page** — on plugin activation a draft page is created, pre-populated with the activation form block and conditional success/error blocks. Publish it and assign it in settings.

**Customisable activation email** — replaces the default network activation email with one that links to your site's own activation page. Subject, from name, from address, and body are all editable.

**Post-activation welcome email** — optionally send a follow-up email containing the user's credentials once their account is activated. Independently configurable from the activation email.

**Auto-login** — optionally log users in immediately after a successful activation (admin-controlled).

**Block editor support** — three block editor additions for building the activation page:

Block / VariationPurpose`Activation Form`Renders the activation key input and submit button`Activation Errors` *(group variant)*Shown only on failure; inner paragraph bound to the error message`Activation Success` *(group variant)*Shown only on success; inner paragraphs bound to username and password**Block bindings** — individual binding sources for use anywhere in the editor:

- `Activation: Error message`
- `Activation: Username` / `Activation: Username (formatted)`
- `Activation: Password` / `Activation: Password (formatted)`

Setup
-----

[](#setup)

1. Activate the plugin on the target site.
2. Go to **Settings → User Activation** and configure:
    - **Activation page** — select the generated draft page (publish it when ready).
    - **Log in page URL** — used as `{login_url}` in the welcome email.
    - Email templates for both the activation and welcome emails.
3. Users who register will receive your custom activation email linking to the configured page.

Email placeholders
------------------

[](#email-placeholders)

### Activation email

[](#activation-email)

`{site_name}` `{site_url}` `{network_name}` `{username}` `{activation_link}`

### Welcome email

[](#welcome-email)

`{site_name}` `{site_url}` `{network_name}` `{username}` `{password}` `{login_url}`

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance84

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

88d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/77dbeefb7745010589603f2ffc6ff310d8f700b58e08d52af190744c43342526?d=identicon)[roborourke](/maintainers/roborourke)

![](https://avatars.githubusercontent.com/u/494927?v=4)[Matthew Haines-Young](/maintainers/mattheu)[@mattheu](https://github.com/mattheu)

---

Top Contributors

[![roborourke](https://avatars.githubusercontent.com/u/23417?v=4)](https://github.com/roborourke "roborourke (4 commits)")

### Embed Badge

![Health badge](/badges/humanmade-hm-user-activation/health.svg)

```
[![Health](https://phpackages.com/badges/humanmade-hm-user-activation/health.svg)](https://phpackages.com/packages/humanmade-hm-user-activation)
```

###  Alternatives

[markstory/acl_extras

Additional tools for managing DB ACL in CakePHP applications.

155311.0k](/packages/markstory-acl-extras)[rainlab/user-plugin

User plugin for October CMS

11954.3k13](/packages/rainlab-user-plugin)[stuttter/wp-user-signups

The best way to manage user &amp; site sign-ups in WordPress

46208.9k5](/packages/stuttter-wp-user-signups)[winter/wn-user-plugin

User plugin for Winter CMS

1233.5k13](/packages/winter-wn-user-plugin)[rainlab/userplus-plugin

User plus plugin for October CMS

168.8k2](/packages/rainlab-userplus-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
