Gamification Overview
Requires MediaVerse Pro - This feature is available exclusively in the Pro version.
MediaVerse Gamification turns your media community into a competitive platform. Users earn XP, enter photo competitions, challenge each other to battles, and boost their media visibility - all integrated with the wb-gamification plugin’s XP and reward engine.
Gamification requires MediaVerse Pro and the wb-gamification plugin (active and configured). All gamification features are disabled by default. Enable each feature individually at MediaVerse > Settings > Gamification.

Requirements
Section titled “Requirements”- MediaVerse Pro 1.0.0+
- wb-gamification plugin (active)
- WordPress 6.5+
- PHP 7.4+
Feature Types
Section titled “Feature Types”| Feature | Description | Setting Key |
|---|---|---|
| Photo Challenges | Themed weekly competitions with voting | mvs_challenges_enabled |
| Photo Battles | 1v1 head-to-head media matchups | mvs_battles_enabled |
| Tournaments | Single-elimination bracket competitions | mvs_tournaments_enabled |
| Media Boosts | Spend points to increase media visibility | mvs_boosts_enabled |
| Upload Streaks | Track consecutive daily uploads | mvs_streaks_enabled |
Competition Types
Section titled “Competition Types”All three competition types share a unified database schema. Each type follows its own lifecycle, but they share the same tables.
Challenges
Section titled “Challenges”Themed weekly competitions. Admin creates a challenge with a theme, entry window, and voting window. Users submit a photo, community votes, winners earn XP prizes.
Battles
Section titled “Battles”1v1 matchups. A challenger picks a photo and invites an opponent. Both submit photos, the community votes, the system resolves the winner.
Tournaments
Section titled “Tournaments”Single-elimination brackets for 4 to 64 participants. Users register, the system seeds the bracket, rounds proceed by community vote until a winner is determined.
Database Schema
Section titled “Database Schema”| Table | Purpose |
|---|---|
mvs_competitions |
Master record for all challenges, battles, and tournaments |
mvs_competition_entries |
User photo submissions for any competition type |
mvs_competition_matches |
Individual head-to-head pairings (battles and tournament rounds) |
mvs_competition_votes |
Per-user votes on entries or matches |
mvs_boosts |
Active and expired media boost records |
The mvs_competitions.type column distinguishes between challenge, battle, and tournament records.
XP Integration
Section titled “XP Integration”XP and points are not awarded by MediaVerse itself - the separate free wb-gamification plugin is the points engine. MediaVerse ships an integration manifest that registers 15 gamification actions (photo upload, album creation, likes/comments/follows/favorites received and given, bookmarks, battle win, challenge participation, challenge placing, tournament round win, tournament win, and streak milestones).

As members interact with the site and competitions, MediaVerse fires the matching action hooks - for example mvs_media_uploaded, mvs_battle_resolved, mvs_challenge_winner_named, mvs_tournament_finalized, and mvs_streak_milestone - and wb-gamification awards the points configured for each action. The per-competition XP prizes you set on a challenge or tournament are honored through the wb_gam_points_for_action filter, so the points a member earns match the prize shown in the UI.
Without the wb-gamification plugin active, competitions still run end to end - members enter, vote, and win - but no points are earned or spent. Install and activate wb-gamification to enable the XP and rewards layer.
Frontend Pages
Section titled “Frontend Pages”| URL | Description |
|---|---|
/media/challenges/ |
Browse and enter photo challenges |
/media/battles/ |
View active and completed battles |
/media/tournaments/ |
Browse tournaments and view brackets |
/compete/ |
Unified competition hub showing all active competitions |
The My Media dashboard adds Challenges, Battles, and Tournaments tabs showing the logged-in user’s entries, results, and active matches.

Scheduled Actions
Section titled “Scheduled Actions”All competition lifecycle transitions run via Action Scheduler on an hourly recurrence. No competition state changes happen in real time - transitions occur at the next hourly tick after a deadline passes.
| Scheduled Action | Trigger Condition |
|---|---|
mvs_activate_scheduled_challenges |
Challenge start date reached |
mvs_close_challenge_entries |
Entry deadline reached |
mvs_finalize_expired_challenges |
Voting deadline reached |
mvs_resolve_expired_battles |
Battle vote deadline reached |
mvs_start_registered_tournaments |
Tournament registration deadline reached |
mvs_resolve_expired_matches |
Match vote deadline reached |
mvs_expire_boosts |
Boost impression target or duration reached |
mvs_daily_streak_check |
Daily at 2 AM - break streaks for missed uploads |
Action Scheduler must be running for gamification to function. If you use a managed host that blocks WP-Cron, configure Action Scheduler with a server-level cron trigger.

