BACK TO DIRECTORY

Init User Engine – Gamified, Fast, Frontend-First

by Init HTML

5.0
(1 ratings)

Init User Engine is a lightweight, no-bloat user system for modern WordPress sites. It’s designed for maximum frontend flexibility and gamified user engagement. All dynamic interfaces are rendered via JavaScript with real-time REST API interaction.

No jQuery. Minimal settings. Smart by default.

What you get:

  • Display user avatar and dashboard via shortcode
  • Show level, EXP, Coin/Cash, and full user wallet
  • Frontend login & registration modal with Cloudflare Turnstile (or built-in math captcha) protection
  • Let users check-in daily and receive timed rewards
  • Auto-track referral registrations with reward system
  • Let users buy VIP status using Coin, Cash, or both
  • Redeem Code / Gift Code and dedicated VIP Code system, with CSV export from wp-admin
  • Built-in inbox for notifications (uses custom DB table), with pinned/expiring messages and a stats dashboard
  • Custom avatar support with upload & preview modal
  • Send custom notifications to selected users or all members from wp-admin
  • Optional “Require Login to Access Site” mode that gates the entire frontend behind the built-in login modal
  • Optional one-step “Login After Register” so new users land on the site already signed in

This plugin is the core user system behind the Init Plugin Suite – optimized for frontend-first interaction, extensibility, and real-time gamification.

GitHub repository: https://github.com/brokensmile2103/init-user-engine

Features

Profile & Avatar

  • Avatar shortcode [init_user_engine] – renders the guest login button or the logged-in avatar with dropdown dashboard automatically
  • Modal dashboard showing level, EXP progress, Coin/Cash wallet, and quick links
  • Custom avatar upload with live preview, crop-free flow, and one-click revert to the default/Gravatar image
  • Configurable upload policy (allow everyone, VIP only, or disable uploads entirely) with a configurable max file size
  • Optional display name change limit (e.g. once every 7 days, like TikTok), enforced in the profile modal, wp-admin/profile.php, the REST API and WooCommerce Account details
  • Theme override support: any template file can be overridden by copying it to your-theme/init-user-engine/

Accounts, Login & Registration

  • Frontend login & registration modal – no theme editing or template overrides required
  • “Login After Register” option to automatically sign users in right after they create an account (disabled by default)
  • Failed logins reopen the login modal on the current page with an inline error message, instead of redirecting to wp-login.php
  • Cloudflare Turnstile captcha on registration, with a built-in math-question captcha as automatic fallback when no Turnstile keys are set
  • Optional protection of the native WordPress login, registration, and lost-password forms (wp-login.php) using the same Turnstile setup
  • “Forgot password?” form right inside the login modal, using the native WordPress reset flow (can be turned off; a custom Lost Password URL always takes priority)
  • Custom redirect URLs for “Register” and “Lost password” links
  • Optional “Require Login to Access Site” mode that gates the entire frontend behind the built-in login modal
  • Ability to temporarily disable new registrations without affecting other plugins or WordPress core

Gamification

  • EXP & Level system with hookable progression logic
  • Coin & Cash dual-wallet system with transaction logs and a configurable exchange rate between the two currencies
  • Daily check-in with streak milestones and an online-time bonus timer
  • Optional Streak Recovery: members who miss a few days can spend Coin to keep their check-in streak alive (allowed missed days and Coin price per day are configurable, off by default)
  • Built-in reward hooks for registration, daily login, comments, published posts, and completed WooCommerce orders (when WooCommerce is active)

VIP Membership

  • VIP membership system with Coin-based, Cash-based, or combined purchase options
  • Multiple configurable pricing tiers per duration, including a lifetime option
  • VIP bonus multipliers for Coin/EXP earning
  • Optional VIP purchase lock (globally disable new purchases) and stacking restriction

Referral

  • Referral module with cookie-based signup tracking
  • Separate, configurable rewards for both the referrer and the newly referred user

Redeem & VIP Codes

  • Redeem Code / Gift Code module – code in, rewards out
  • Dedicated VIP Codes module to grant VIP duration through a code
  • One-click CSV export for both code lists (full list, streamed in batches, UTF-8 BOM, and sanitized against CSV/formula injection)

Inbox & Notifications

  • Built-in inbox system with pagination and read/claim/delete actions
  • Pinned messages that automatically unpin once read, or once their optional expiration time passes
  • Admin panel to send custom notifications to selected users or all members, with priority and expiration
  • Inbox Statistics dashboard (Users Init User Engine Inbox Statistics) with date-range filtering
  • Optional automatic cleanup of read messages older than a set number of days (unread, pinned and assigned-code messages are always kept)

Admin Tools

  • Manual Top-up tool for Coin/Cash (Users Init User Engine Top-up Coin/Cash)
  • Per-user overview metabox on the WordPress profile/edit-user screen (level, wallet, VIP status, recent activity), with one-click Remove VIP, Ban Avatar Upload and Unlock Display Name actions

Developer-Friendly

  • REST API for all features (read/write/modify)
  • Action/filter hooks for full customization
  • Pure Vanilla JS frontend – no jQuery, no server bloat

Developer Hooks

Filters

  • init_plugin_suite_user_engine_online_minutes – Modify required online minutes after check-in
  • init_plugin_suite_user_engine_vip_prices – Modify VIP package prices
  • init_plugin_suite_user_engine_referral_rewards – Modify referral rewards
  • init_plugin_suite_user_engine_localized_data – Modify frontend JS data
  • init_plugin_suite_user_engine_calculated_coin_amount – Modify Coin reward before apply
  • init_plugin_suite_user_engine_calculated_exp_amount – Modify EXP reward before apply
  • init_plugin_suite_user_engine_exp_required – Modify EXP required per level
  • init_plugin_suite_user_engine_checkin_milestones – Set milestone streak days
  • init_plugin_suite_user_engine_format_inbox – Modify formatted inbox data
  • init_plugin_suite_user_engine_render_level_badge – Customize level badge HTML
  • init_plugin_suite_user_engine_inbox_insert_data – Modify inbox data before inserting into database
  • init_plugin_suite_user_engine_validate_register_fields – Validate or modify registration fields before account creation
  • init_plugin_suite_user_engine_after_register – Hook after successful user registration (pass user ID and submitted data)
  • init_plugin_suite_user_engine_daily_tasks – Add or modify daily task list and logic
  • init_plugin_suite_user_engine_captcha_bank – Extend or modify the internal captcha question bank used for fallback validation
  • init_plugin_suite_user_engine_format_log_message – Customize transaction log message display with access to entry data, source, type, and amount
  • init_plugin_suite_user_engine_should_keep_original – Override decision to keep original uploaded avatar (GIF or other formats)
  • init_plugin_suite_user_engine_vip_expire_soon_threshold – Modify the threshold (in seconds) used to determine when VIP is considered close to expiration
  • init_plugin_suite_user_engine_body_vip_classes – Add, remove, or modify VIP-related CSS classes applied to the <body> element
  • init_plugin_suite_user_engine_theme_colors – Modify theme color system (primary and active colors)
  • init_plugin_suite_user_engine_streak_restore_max_days – Modify how many missed check-in days a user may cover to keep their streak (return 0 to disable it for that user)
  • init_plugin_suite_user_engine_streak_restore_cost – Modify the Coin cost of keeping a streak (receives total cost, missed days, and user ID)
  • init_plugin_suite_user_engine_lostpassword_modal_enabled – Enable or disable the lost password form inside the login modal (receives the current value and the plugin settings)
  • init_plugin_suite_user_engine_display_name_change_days – Modify how many days a member has to wait between two display name changes (receives the days from the settings and the user ID; 0 = unlimited)
  • init_plugin_suite_user_engine_display_name_limit_applies – Return false to let a user (or role) change their display name freely (receives the current value and the user ID)
  • init_plugin_suite_user_engine_inbox_auto_delete_days – Modify how many days read Inbox messages are kept before automatic deletion (0 = never)
  • init_plugin_suite_user_engine_inbox_auto_delete_keep_meta_keys – Metadata keys that mark an Inbox message to keep during automatic deletion (default created_by)
  • init_plugin_suite_user_engine_inbox_auto_delete_batch / init_plugin_suite_user_engine_inbox_auto_delete_time_limit – Ids per DELETE (default 5000) and seconds per run (default 20) of the automatic deletion
  • init_plugin_suite_user_engine_dashboard_stats_max_age – How old (in seconds) the Dashboard Inbox widget numbers may be before a background refresh (default 900)

Actions

  • init_plugin_suite_user_engine_level_up – When user levels up
  • init_plugin_suite_user_engine_exp_added – After EXP is added
  • init_plugin_suite_user_engine_transaction_logged – After Coin/Cash is logged
  • init_plugin_suite_user_engine_exp_logged – After EXP log is recorded
  • init_plugin_suite_user_engine_inbox_inserted – After new inbox message
  • init_plugin_suite_user_engine_inbox_auto_deleted – After an automatic cleanup of read Inbox messages finishes (number deleted, cutoff)
  • init_plugin_suite_user_engine_referral_completed – When referral is completed
  • init_plugin_suite_user_engine_after_checkin – After user check-in
  • init_plugin_suite_user_engine_streak_restored – After a user paid Coin to keep their check-in streak (user ID, missed days, cost, new streak)
  • init_plugin_suite_user_engine_after_claim_reward – After user claims reward
  • init_plugin_suite_user_engine_vip_purchased – After VIP is purchased
  • init_plugin_suite_user_engine_add_exp – Triggered when adding EXP via hook
  • init_plugin_suite_user_engine_add_coin – Triggered when adding Coin via hook
  • init_plugin_suite_user_engine_coin_changed – After user’s Coin balance is updated
  • init_plugin_suite_user_engine_cash_changed – After user’s Cash balance is updated
  • init_plugin_suite_user_engine_admin_send_notice – When admin sends notification via wp-admin.
  • init_plugin_suite_user_engine_display_name_unlocked – After an administrator lets a member change their display name again (user ID)

REST API Endpoints

Base: /wp-json/inituser/v1/

  • POST /register – Create a new user account
  • POST /checkin – Daily check-in (optional JSON body: prompt_restore, restore_streak, restore_cost for Streak Recovery)
  • POST /claim-reward – Claim reward after online duration
  • GET /transactions – Get Coin/Cash transaction log
  • GET /exp-log – Get EXP log
  • GET /inbox – Get inbox messages
  • POST /inbox/mark-read – Mark a message as read
  • POST /inbox/mark-all-read – Mark all as read
  • POST /inbox/delete – Delete a single message
  • POST /inbox/delete-all – Delete all messages
  • POST /vip/purchase – Purchase VIP package
  • GET /referral-log – Get referral history
  • POST /avatar – Upload new avatar
  • POST /avatar/remove – Remove custom avatar and revert to default
  • GET /profile/me – Get current user profile (includes display_name_limit: days, locked, next_change, notice)
  • POST /profile/update – Update profile information
  • GET /daily-tasks – Get list of completed daily tasks and rewards
  • POST /exchange – Convert Cash Coin based on exchange rate
  • POST /redeem-code – Redeem gift code (returns Coin/Cash rewards)

License

This plugin is licensed under the GPLv2 or later.
You are free to use, modify, and distribute it under the same license.

Screenshots

Settings with options for theme color, currency labels, and admin bar/Gravatar control.

Settings with options for theme color, currency labels, and admin bar/Gravatar control.

Custom Links section for setting Register and Lost Password URLs.

Custom Links section for setting Register and Lost Password URLs.

Check-in Reward configuration, including Coin, EXP, and Cash per check-in.

Check-in Reward configuration, including Coin, EXP, and Cash per check-in.

Online Reward configuration based on active time with reward values.

Online Reward configuration based on active time with reward values.

VIP Pricing options for various durations, including lifetime.

VIP Pricing options for various durations, including lifetime.

VIP Bonus settings to configure extra Coin/EXP for VIP users.

VIP Bonus settings to configure extra Coin/EXP for VIP users.

Referral Reward settings for both referrer and new user.

Referral Reward settings for both referrer and new user.

Admin panel to send notifications with content, targeting, priority, and expiration.

Admin panel to send notifications with content, targeting, priority, and expiration.

Login modal interface for non-logged-in users.

Login modal interface for non-logged-in users.

Registration modal with username, email, and password fields.

Registration modal with username, email, and password fields.

Avatar button with dropdown panel showing user info, level, stats, and quick links.

Avatar button with dropdown panel showing user info, level, stats, and quick links.

VIP Membership modal with Coin-based purchase options and expiration note.

VIP Membership modal with Coin-based purchase options and expiration note.

Inbox modal showing system messages, rewards, and user notifications.

Inbox modal showing system messages, rewards, and user notifications.

Transaction history modal showing all reward activities (check-in, referral, online time...).

Transaction history modal showing all reward activities (check-in, referral, online time...).

Referral modal with shareable code/link, social sharing buttons, and referral history.

Referral modal with shareable code/link, social sharing buttons, and referral history.

Plugin Details

Active Installs
20
Total Downloads
5,733
Version
1.7.5
Requires WP
5.5
Requires PHP
7.4
Tested Up To
7.1.4
Added
2025-07-17
Last Updated
2026-10-24 6:44pm GMT

Ratings

5
1
4
0
3
0
2
0
1
0