WP User Frontend (WPUF) is a WordPress plugin that enables frontend content management — post submission, user registration/login, dashboards, subscriptions, guest posting, content restriction, and AI form building. Requires PHP 5.6+.
The .claude/skills/ directory has procedural HOW-TOs. Invoke the matching skill before starting work.
| When you're about to… | Invoke |
|---|---|
| Write or modify PHP | wpuf-backend-dev |
| Write or modify Vue / JS / CSS | wpuf-frontend-dev |
| Review a PR or code change | wpuf-code-review |
| Topic | File | When to read |
|---|---|---|
| Architecture (directory layout, init flow, services, REST, payments, fields) | docs/architecture.md |
New to the codebase, or touching a subsystem you don't know |
| Coding standards & patterns | docs/conventions.md |
Before writing non-trivial code |
| Build & test commands | docs/build-and-test.md |
Before running lint/build/tests |
Per-directory CLAUDE.md files auto-load when Claude works in that path:
includes/Fields/CLAUDE.md— form field contract & conventionstests/e2e/CLAUDE.md— Playwright patterns
- Preserve existing behavior. Hooks, filters, public methods, REST routes, template paths, and shortcodes are contracts — don't change signatures or drop parameters silently.
- Legacy code stays. jQuery form builder, LESS, Grunt, and the
class/directory coexist with modern Vue/Tailwind/Vite intentionally. Don't rewrite legacy code without explicit permission. - Free/Pro split matters. Never assume Pro features exist. Detect with
class_exists('WP_User_Frontend_Pro'). - Scope discipline. No drive-by refactors. Note unrelated issues separately instead of fixing them inline.
- Entry point:
wpuf.php→wpuf()singleton - Service access:
wpuf()->service_name(e.g.,wpuf()->subscription) - Namespace:
WeDevs\Wpuf\(includes/) andWeDevs\Wpuf\Lib\(Lib/) - Main lint:
composer phpcs - Main build:
npm run build