# Raycin Track Manager – New Features Guide
This guide covers all the new features implemented in the Raycin Track Manager plugin. Use this document to understand how to use each feature.
—
## Table of Contents
1. [ Racing Features ] ( #racing-features )
2. [ Donation Features ] ( #donation-features )
3. [ Shortcodes Reference ] ( #shortcodes-reference )
4. [ Admin Features ] ( #admin-features )
5. [ Database Tables ] ( #database-tables )
—
## Racing Features
### 1. Track Completion Tracker
**What it does:** Tracks overall progress through all tracks and awards a “Track Master” badge at 100% completion.
**How to use:**
– Automatically tracks progress as users complete races
– View progress in the member dashboard: `Please log in to view your dashboard.
`
– Badge is automatically awarded when 100% completion is reached
**Database:** Uses existing `raycin_user_progress` table
**Methods:**
“`php
$members-> get_track_completion_stats ($user_id);
// Returns: array(‘completed’ => 50, ‘total’ => 100, ‘percentage’ => 50.0, ‘badge_earned’ => false)
“`
—
### 2. Track of the Week
**What it does:** Features a specific track each week with bonus points for racing on it.
**How to use:**
– Admin can set Track of the Week via database or admin interface
– Displayed in member dashboard
– Bonus points automatically awarded when racing the featured track
**Database Table:** `wp_raycin_track_of_week`
**Methods:**
“`php
$members-> get_track_of_week ();
$members-> set_track_of_week ($track_id, $week_start, $week_end, $bonus_points, $description);
“`
**Admin:** Add admin interface to set Track of the Week (coming soon)
—
### 3. Rivalry System
**What it does:** Tracks head-to-head player comparisons on specific tracks.
**How to use:**
– Automatically updates when players race the same track
– View rivalries in player profiles
– Shows time differences between players
**Database Table:** `wp_raycin_rivalries`
**Methods:**
“`php
$members-> get_rivalries ($user_id, $track_id = null );
$members-> update_rivalry ($user_id, $rival_user_id, $track_id);
“`
—
### 4. Vehicle Class Leaderboards
**What it does:** Separate leaderboards for each vehicle class (Super, Sports, Motorcycles, etc.).
**How to use:**
– Use shortcode: `
🏎️ Vehicle Class Leaderboards
Select Vehicle Class:
F2F Regulars (513 races)
Super (277 races)
Off-Road (275 races)
F2F Almost Supers (175 races)
Motorcycles (174 races)
Sports (127 races)
Addons-24 (110 races)
open-wheel (53 races)
Compacts (51 races)
F2F Surprise (49 races)
Issi Classic (41 races)
Addons-Fun (30 races)
sumo-Off-Road (25 races)
unknowns-mashup (24 races)
trucking-large (22 races)
F2F Pain (19 races)
sumo-all (19 races)
Allmost Rally (18 races)
10-vehicles (17 races)
Sedans (15 races)
Coupes (14 races)
Sports Classics (13 races)
Military (12 races)
random-mashup (10 races)
Addons-Various (9 races)
fastest (9 races)
random-british (9 races)
RDM-TSFM-Tier (9 races)
Unknown (9 races)
Muscle (8 races)
sumo-super (8 races)
unknowns-british (8 races)
SUVs (7 races)
Addons-Classics (5 races)
unknowns-surprise (5 races)
utility-custom (5 races)
Commercial (4 races)
Custom Super 1 (4 races)
random-crazy (4 races)
RDM-TSFM-surprise (4 races)
F2F 10 Surprise (3 races)
RDM-TSFM-british (3 races)
RDM-TSFM-select (3 races)
unknowns-agony (3 races)
almost-rally (2 races)
Emergency (2 races)
RDM-TSFM-military (2 races)
sumo-sport (2 races)
Vans (2 races)
Cycles (1 races)
Gokarts (1 races)
random-surprise (1 races)
Sports Cassics (1 races)
F2F Regulars Class Leaderboard
Rank
Player
Best Lap
Races
Tracks
1
Reece
3.00
6
5
2
zvonko mitrofonko
3.00
7
7
3
Adamp2412
3.00
4
4
4
KernowGlyn
4.00
16
11
5
dzundar
4.00
4
4
6
Barry
4.00
4
4
7
steva
4.00
3
3
8
enxesquet
4.00
3
3
9
Mateja mmmmmaks
4.00
5
5
10
xtitooxz
4.00
1
1
`
– Automatically detects all available vehicle classes from race results
– Filter by class using dropdown selector
**Shortcode:**
“`
🏎️ Vehicle Class Leaderboards
Select Vehicle Class:
F2F Regulars (513 races)
Super (277 races)
Off-Road (275 races)
F2F Almost Supers (175 races)
Motorcycles (174 races)
Sports (127 races)
Addons-24 (110 races)
open-wheel (53 races)
Compacts (51 races)
F2F Surprise (49 races)
Issi Classic (41 races)
Addons-Fun (30 races)
sumo-Off-Road (25 races)
unknowns-mashup (24 races)
trucking-large (22 races)
F2F Pain (19 races)
sumo-all (19 races)
Allmost Rally (18 races)
10-vehicles (17 races)
Sedans (15 races)
Coupes (14 races)
Sports Classics (13 races)
Military (12 races)
random-mashup (10 races)
Addons-Various (9 races)
fastest (9 races)
random-british (9 races)
RDM-TSFM-Tier (9 races)
Unknown (9 races)
Muscle (8 races)
sumo-super (8 races)
unknowns-british (8 races)
SUVs (7 races)
Addons-Classics (5 races)
unknowns-surprise (5 races)
utility-custom (5 races)
Commercial (4 races)
Custom Super 1 (4 races)
random-crazy (4 races)
RDM-TSFM-surprise (4 races)
F2F 10 Surprise (3 races)
RDM-TSFM-british (3 races)
RDM-TSFM-select (3 races)
unknowns-agony (3 races)
almost-rally (2 races)
Emergency (2 races)
RDM-TSFM-military (2 races)
sumo-sport (2 races)
Vans (2 races)
Cycles (1 races)
Gokarts (1 races)
random-surprise (1 races)
Sports Cassics (1 races)
Super Class Leaderboard
Rank
Player
Best Lap
Races
Tracks
1
DelboyRP
1.00
13
11
2
Sienna
1.00
1
1
3
whitty
1.00
10
9
4
Sadie
1.00
1
1
5
BAAAAAA
1.00
2
2
6
RebeccaB
1.00
8
7
7
KernowGlyn
1.00
17
11
8
lilba
1.00
1
1
9
Baaaaaaaaa
1.00
2
2
10
Street
1.00
1
1
“`
**Parameters:**
– `period` : “all”, “month”, “week”, “today”
– `limit` : Number of results (default: 10)
– `metric` : “best_lap”, “most_races”, “most_wins”
– `selected_class` : Pre-select a specific class
**Methods:**
“`php
$leaderboards-> get_available_classes ();
$leaderboards-> get_vehicle_class_leaderboard ($race_class, $period, $limit, $metric);
$leaderboards-> get_best_in_class_badges ($player_name);
“`
—
### 5. Player Profiles
**What it does:** Public racing profiles showing stats, track mastery, and best-in-class achievements.
**How to use:**
– Use shortcode: `
👤 PlayerName
No player data found.
`
– Or by user ID: `
👤 randomracespitstop
No player data found.
`
**Shortcode:**
“`
👤 John Doe
No player data found.
“`
**Displays:**
– Best lap time
– Total races
– Track mastery badges (tracks where player is #1)
– Best in class badges (vehicle classes where player is #1)
—
### 6. Social Feed
**What it does:** Activity feed showing player achievements, records, and improvements.
**How to use:**
– Use shortcode: `
📰 Activity Feed
No activity to display.
`
– Automatically populated when players set records or earn achievements
**Shortcode:**
“`
📰 Activity Feed
No activity to display.
“`
**Parameters:**
– `limit` : Number of entries (default: 20)
– `feed_type` : Filter by type (“record_set”, “pb_improvement”, “achievement”)
– `user_id` : Show only entries for specific user
**Methods:**
“`php
$members-> add_social_feed_entry ($user_id, $feed_type, $feed_data, $track_id, $event_id);
$members-> get_social_feed ($limit, $filters);
“`
**Feed Types:**
– `record_set` : New track record
– `pb_improvement` : Personal best improvement
– `achievement` : Achievement earned
– `donation_milestone` : Donation milestone reached
—
### 7. Time Attack Challenges
**What it does:** Auto-generated weekly/monthly time attack events.
**Database Table:** `wp_raycin_time_attack_challenges`
**Structure:**
– `track_id` : Track for the challenge
– `challenge_type` : “weekly” or “monthly”
– `start_date` / `end_date` : Challenge period
– `target_time` : Optional target time
– `reward_points` : Points for completion
**Methods:**
“`php
// Create challenge (admin only)
$wpdb-> insert ($table, array (
‘track_id’ => 123 ,
‘challenge_type’ => ‘weekly’ ,
‘start_date’ => ‘2025-11-15’ ,
‘end_date’ => ‘2025-11-22’ ,
‘target_time’ => 60.5 ,
‘reward_points’ => 100
));
“`
—
### 8. Crew/Team System
**What it does:** Create racing crews with leaderboards and team competitions.
**Database Tables:**
– `wp_raycin_crews` : Crew information
– `wp_raycin_crew_members` : Crew membership
**Structure:**
– Crew name, slug, description
– Leader ID
– Public/private crews
– Member roles (leader, member)
**Methods:**
“`php
// Create crew (requires user login)
// Add member to crew
// Get crew leaderboard
“`
**Admin:** Add admin interface for crew management (coming soon)
—
### 9. Seasonal Competitions
**What it does:** Quarterly or seasonal championships with leaderboards.
**Database Table:** `wp_raycin_seasonal_competitions`
**Structure:**
– Season name
– Season type: “quarterly”, “monthly”, “yearly”
– Start/end dates
– Active status
**Methods:**
“`php
// Create seasonal competition (admin only)
// Track points/races during season
// Generate season-end leaderboard
“`
—
### 10. Achievement System Expansion
**What it does:** Additional achievement types beyond basic badges.
**New Achievements:**
– **Speed Demon** : Complete 10+ tracks under 60 seconds
– **Marathon Racer** : Race 20+ times in one day
– **Night Owl** : Race 10+ times between midnight-6am
– **Weekend Warrior** : Complete 25+ races on weekends
**How to use:**
– Automatically checked when user races
– Badges awarded automatically when criteria met
– View in member dashboard
**Methods:**
“`php
$members-> check_expanded_achievements ($user_id);
// Returns array of newly awarded badge types
“`
—
### 11. Random Track Generator
**What it does:** “Surprise Me” button that randomly selects a track.
**How to use:**
– Use shortcode: `
Random Track Generator
Not sure which track to race? Let us surprise you with a random track!
🎲 Surprise Me!
`
– Awards “Explorer” badge on first use
**Shortcode:**
“`
Random Track Generator
Not sure which track to race? Let us surprise you with a random track!
🎲 Surprise Me!
“`
**Parameters:**
– `button_text` : Custom button text (default: “🎲 Surprise Me!”)
– `show_description` : Show/hide description (default: “true”)
**AJAX Endpoint:**
– Action: `raycin_get_random_track`
– Nonce: `raycin_random_track`
—
### 12. Community Challenges
**What it does:** Community-wide goals that all players contribute to.
**How to use:**
– Use shortcode: `
`
– Shows challenges with target values >= 100
– Displays community progress bar
**Shortcode:**
“`
“`
**Parameters:**
– `limit` : Number of challenges to display (default: 5)
**Database:** Uses `wp_raycin_daily_challenges` table (challenges with high target values)
—
### 13. Racing Tips & Guides
**What it does:** Placeholder for community-submitted racing tips and track guides.
**How to use:**
– Use shortcode: `
💡 Racing Tips & Guides
Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
`
– Currently shows placeholder message
– Full implementation requires additional database table
**Shortcode:**
“`
💡 Racing Tips & Guides
Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
“`
**Future:** Will allow users to submit tips/guides for tracks
—
### 14. Friend System
**What it does:** Add friends and compare lap times.
**Database Table:** `wp_raycin_friends`
**Structure:**
– `user_id` : User who sent request
– `friend_user_id` : User who received request
– `status` : “pending”, “accepted”, “blocked”
**Methods:**
“`php
// Send friend request
// Accept friend request
// Get friend list
// Compare times with friends
“`
**Admin:** Add UI for friend management (coming soon)
—
### 15. Track Reviews
**What it does:** Write detailed reviews for tracks, not just ratings.
**Database Table:** `wp_raycin_track_reviews`
**Structure:**
– Track ID, User ID
– Rating (1-5)
– Review text
– Approval status
**Methods:**
“`php
// Submit review
// Get reviews for track
// Approve/reject reviews (admin)
“`
—
### 16. Racing Tournaments
**What it does:** Bracket-style tournaments with single/double elimination.
**Database Tables:**
– `wp_raycin_racing_tournaments` : Tournament info
– `wp_raycin_tournament_participants` : Registered players
– `wp_raycin_tournament_matches` : Match results
**How to use:**
– Create tournament (admin only)
– Players register for tournament
– Admin creates bracket
– Record match results
– Tournament progresses automatically
**Methods:**
“`php
$members-> create_tournament ($data);
$members-> register_tournament_participant ($tournament_id, $user_id);
“`
**Tournament Data:**
“`php
array (
‘tournament_name’ => ‘Spring Championship’ ,
‘tournament_slug’ => ‘spring-championship-2025’ ,
‘description’ => ‘Quarterly championship tournament’ ,
‘bracket_type’ => ‘single_elimination’ , // or ‘double_elimination’
‘start_date’ => ‘2025-12-01’ ,
‘end_date’ => ‘2025-12-31’ ,
‘max_participants’ => 16 ,
‘track_id’ => 123 // Optional: specific track
)
“`
—
### 17. Live Race Tracking
**What it does:** Shows who is currently racing in real-time.
**Database Table:** `wp_raycin_live_races`
**How to use:**
– FiveM server sends race start/end events to API
– Website displays active races
– Auto-removes races older than 5 minutes
**Methods:**
“`php
$members-> add_live_race ($player_name, $player_identifier, $track_id, $track_name);
$members-> get_live_races ($limit = 10 );
“`
**FiveM Integration:**
“`lua
— When race starts
exports [ ‘raycin-api’ ]: startRace ( playerName , identifier , trackId , trackName )
— When race ends
exports [ ‘raycin-api’ ]: endRace ( identifier )
“`
**Frontend:** Add shortcode/widget to display live races (coming soon)
—
### 18. Race Replays
**What it does:** Link to race replay videos (YouTube, Twitch, etc.).
**Database Table:** `wp_raycin_race_replays`
**How to use:**
– Users submit replay URLs
– Link to race results or track pages
– Track view counts
**Methods:**
“`php
$members-> add_race_replay ( array (
‘track_id’ => 123 ,
‘replay_url’ => ‘https://youtube.com/watch?v=…’ ,
‘replay_type’ => ‘video’ , // or ‘stream’
‘lap_time’ => 45.23 ,
‘replay_description’ => ‘Great race!’
));
“`
**Admin:** Approve/reject replay submissions
—
### 19. In-Game Notifications
**What it does:** Send notifications to Discord/webhooks when events occur.
**Database Table:** `wp_raycin_in_game_notifications`
**How to use:**
– Users configure Discord webhook URL in profile
– System sends notifications for:
– Achievement earned
– Record set
– Tournament match scheduled
– Friend request received
**Methods:**
“`php
$members-> send_in_game_notification (
$user_id,
‘achievement’ ,
‘Achievement Unlocked!’ ,
‘You earned the Speed Demon badge!’ ,
array ( ‘badge’ => ‘speed_demon’ )
);
“`
**User Meta:**
– `raycin_discord_webhook` : User’s Discord webhook URL
**Discord Webhook Format:**
– Sends embed with title, description, and fields
– Color-coded by notification type
—
## Donation Features
### 20. Donation Round-up
**What it does:** Round registration fees up to nearest whole number, with difference going to charity.
**How to use:**
– Automatically calculated during event registration
– Optional checkbox: “Round up to nearest £1 for charity”
– Round-up amount added to donation
**Methods:**
“`php
$donations-> calculate_roundup ($registration_fee);
// Returns: float (round-up amount)
“`
**Example:**
– Registration fee: £4.75
– Round-up: £0.25
– Total charged: £5.00
– Donation: £0.25
—
### 21. Supporter Badges
**What it does:** Display ⭐ badge next to usernames for users who have donated.
**How to use:**
– Automatically displayed in:
– Social feed
– Leaderboards
– Player profiles
– Comments/forums (if integrated)
**Badge Types:**
– `charity_supporter` : Donated to charity
– `charity_champion` : Donated significant amount
– `charity_hero` : Top donor
– `supporter` : General supporter badge
**Methods:**
“`php
$donations-> has_supporter_badge ($user_id);
// Returns: bool
“`
**Display:**
– Badge appears as: `Username ⭐`
– Gold star emoji with tooltip “Supporter”
—
### 22. Recurring Donations
**What it does:** Set up monthly/weekly/yearly recurring donations.
**Database Table:** `wp_raycin_recurring_donations`
**How to use:**
– Users can set up recurring donations
– Payments processed automatically on schedule
– Supports PayPal subscriptions
**Methods:**
“`php
$donations-> create_recurring_donation ( array (
‘user_id’ => 1 ,
‘charity_id’ => 2 ,
‘amount’ => 10.00 ,
‘frequency’ => ‘monthly’ , // ‘weekly’, ‘monthly’, ‘yearly’
‘payment_method’ => ‘paypal’
));
“`
**Frequencies:**
– `weekly` : Every week
– `monthly` : Every month
– `yearly` : Every year
**Cron Job:** Process recurring donations daily (check for due payments)
—
### 23. Gift Donations
**What it does:** Donate in honor of someone else.
**Database Table:** `wp_raycin_gift_donations`
**How to use:**
– During donation, check “This is a gift”
– Enter recipient name and email
– Optional gift message
– Recipient receives notification email
**Methods:**
“`php
$donation_id = $donations-> create_donation ($donation_data);
$donations-> create_gift_donation ($donation_id, array (
‘recipient_name’ => ‘John Doe’ ,
‘recipient_email’ => ‘john@example.com’ ,
‘gift_message’ => ‘Happy Birthday!’
));
“`
**Email:** Recipient receives email notification about the gift donation
—
### 24. Donation Milestones
**What it does:** Special announcements when donation totals reach milestones.
**Milestones:**
– £100, £500, £1,000, £5,000, £10,000, £25,000, £50,000, £100,000
**How to use:**
– Automatically triggered when milestone reached
– Added to social feed
– Action hook: `raycin_donation_milestone_reached`
**Methods:**
“`php
// Automatically called when donation completed
$public-> check_donation_milestones ($donation_id, $amount);
“`
**Action Hook:**
“`php
add_action ( ‘raycin_donation_milestone_reached’ , function ($milestone, $total, $donation_id) {
// Send notification, update social feed, etc.
}, 10 , 3 );
“`
—
### 25. Admin Dashboard Widget
**What it does:** Widget on WordPress admin dashboard showing donation statistics.
**How to use:**
– Automatically appears on WordPress dashboard
– Shows:
– Total donations
– Today’s donations
– Site goal progress
– Pending donations count
**Location:** WordPress Admin → Dashboard
**Widget Features:**
– Quick stats overview
– Progress bar for site goal
– Link to review pending donations
– Link to all donations page
—
### 26. Recurring Charity Events
**What it does:** Special features for recurring charity race events.
**How to use:**
– Track donation totals across all instances of recurring event
– View donation history per event instance
– Aggregate totals for event series
**Methods:**
“`php
$donations-> get_recurring_charity_events ($parent_event_id);
// Returns: array of event instances with donation totals
“`
**Returns:**
“`php
array (
array (
‘event’ => object , // Event object
‘donation_total’ => 150.00
),
// … more events
)
“`
—
### 27. Donation Tiers
**What it does:** Bronze/Silver/Gold tiers based on donation amounts.
**Database Table:** `wp_raycin_donation_tiers`
**How to use:**
– Admin creates tiers with min/max amounts
– Users automatically assigned tier based on total donations
– Tiers can have badges and benefits
**Methods:**
“`php
$donations-> get_donation_tier ($amount);
// Returns: tier object or false
“`
**Tier Structure:**
“`php
array (
‘tier_name’ => ‘Gold Supporter’ ,
‘tier_type’ => ‘gold’ ,
‘min_amount’ => 100.00 ,
‘max_amount’ => null , // null = no upper limit
‘badge_name’ => ‘Gold Supporter’ ,
‘benefits’ => ‘Exclusive access, priority support’
)
“`
**Admin:** Add admin interface to manage tiers (coming soon)
—
### 28. Charity Impact Stories
**What it does:** Story/update content for charities showing impact.
**Database Table:** `wp_raycin_charity_impact_stories`
**How to use:**
– Admin creates impact stories for charities
– Display on charity pages
– Featured stories highlighted
**Methods:**
“`php
$donations-> create_impact_story ( array (
‘charity_id’ => 1 ,
‘story_title’ => ‘Helped 50 Families’ ,
‘story_content’ => ‘With your donations, we were able to…’ ,
‘story_date’ => ‘2025-11-15’ ,
‘is_featured’ => 1
));
“`
**Frontend:** Add shortcode/widget to display stories (coming soon)
—
### 29. Team Fundraising
**What it does:** Create fundraising teams with goals and progress tracking.
**Database Tables:**
– `wp_raycin_team_fundraising` : Team info
– `wp_raycin_team_fundraising_members` : Team members
**How to use:**
– Create team with goal amount
– Team leader invites members
– Track team progress toward goal
– Team leaderboard
**Methods:**
“`php
$donations-> create_team_fundraising ( array (
‘team_name’ => ‘Racing for Charity’ ,
‘team_slug’ => ‘racing-for-charity’ ,
‘charity_id’ => 1 ,
‘goal_amount’ => 1000.00 ,
‘team_leader_id’ => 1 ,
‘description’ => ‘Our team goal is to raise £1000’
));
“`
**Frontend:** Add shortcode/widget for team pages (coming soon)
—
### 30. Donation Matching
**What it does:** Admin or sponsors can match donations (e.g., 1:1 or 2:1 matching).
**Database Table:** `wp_raycin_donation_matching`
**How to use:**
– Admin applies matching to specific donations
– Set matching ratio (1.0 = 1:1, 2.0 = 2:1)
– Track matched amounts separately
**Methods:**
“`php
$donations-> apply_donation_matching ($donation_id, $matching_ratio = 1.0 , $matcher_name = ” );
“`
**Example:**
– Donation: £50
– Matching ratio: 2.0 (2:1)
– Matched amount: £100
– Total impact: £150
—
### 31. Donation Certificates
**What it does:** Generate PDF certificates for donations (placeholder – requires PDF library).
**How to use:**
– Currently returns placeholder URL
– Full implementation requires TCPDF or FPDF library
– Would generate downloadable PDF certificate
**Methods:**
“`php
$certificate_url = $donations-> generate_donation_certificate ($donation_id);
// Returns: URL to certificate or false
“`
**Future Implementation:**
– Install PDF library (TCPDF recommended)
– Design certificate template
– Generate PDF with donation details
– Store in uploads folder
– Return download URL
—
## Shortcodes Reference
### Racing Shortcodes
| Shortcode | Description | Parameters |
|———–|————-|————|
| `
🏎️ Vehicle Class Leaderboards
Select Vehicle Class:
F2F Regulars (513 races)
Super (277 races)
Off-Road (275 races)
F2F Almost Supers (175 races)
Motorcycles (174 races)
Sports (127 races)
Addons-24 (110 races)
open-wheel (53 races)
Compacts (51 races)
F2F Surprise (49 races)
Issi Classic (41 races)
Addons-Fun (30 races)
sumo-Off-Road (25 races)
unknowns-mashup (24 races)
trucking-large (22 races)
F2F Pain (19 races)
sumo-all (19 races)
Allmost Rally (18 races)
10-vehicles (17 races)
Sedans (15 races)
Coupes (14 races)
Sports Classics (13 races)
Military (12 races)
random-mashup (10 races)
Addons-Various (9 races)
fastest (9 races)
random-british (9 races)
RDM-TSFM-Tier (9 races)
Unknown (9 races)
Muscle (8 races)
sumo-super (8 races)
unknowns-british (8 races)
SUVs (7 races)
Addons-Classics (5 races)
unknowns-surprise (5 races)
utility-custom (5 races)
Commercial (4 races)
Custom Super 1 (4 races)
random-crazy (4 races)
RDM-TSFM-surprise (4 races)
F2F 10 Surprise (3 races)
RDM-TSFM-british (3 races)
RDM-TSFM-select (3 races)
unknowns-agony (3 races)
almost-rally (2 races)
Emergency (2 races)
RDM-TSFM-military (2 races)
sumo-sport (2 races)
Vans (2 races)
Cycles (1 races)
Gokarts (1 races)
random-surprise (1 races)
Sports Cassics (1 races)
F2F Regulars Class Leaderboard
Rank
Player
Best Lap
Races
Tracks
1
Reece
3.00
6
5
2
zvonko mitrofonko
3.00
7
7
3
Adamp2412
3.00
4
4
4
KernowGlyn
4.00
16
11
5
dzundar
4.00
4
4
6
Barry
4.00
4
4
7
steva
4.00
3
3
8
enxesquet
4.00
3
3
9
Mateja mmmmmaks
4.00
5
5
10
xtitooxz
4.00
1
1
` | Vehicle class leaderboards | `period` , `limit` , `metric` , `selected_class` |
| `Player name required.
` | Player profile page | `player_name` , `user_id` |
| `
📰 Activity Feed
No activity to display.
` | Activity feed | `limit` , `feed_type` , `user_id` |
| `
Random Track Generator
Not sure which track to race? Let us surprise you with a random track!
🎲 Surprise Me!
` | Random track generator | `button_text` , `show_description` |
| `
` | Community challenges | `limit` |
| `
💡 Racing Tips & Guides
Tips & Guides Feature
This feature allows community members to submit racing tips and track guides. Coming soon!
` | Racing tips placeholder | `track_id` , `limit` |
### Existing Shortcodes
| Shortcode | Description |
|———–|————-|
| `Please log in to view your dashboard.
` | Member dashboard (includes Track Completion, Track of Week) |
| `
Track Leaderboard (All)
Rank
Player
Best Lap
Races
Avg Lap
Last Race
1
MarioMan
1.00
1
1.00
11/01/2025
2
whitty
1.00
36
2.94
24/08/2025
3
DelboyRP
1.00
47
2.77
10/10/2025
4
SpookyButt
1.00
9
1.56
24/04/2025
5
RebeccaB
1.00
36
3.28
10/10/2025
6
Masrraaa
1.00
2
6.50
21/02/2025
7
Sienna
1.00
3
1.33
19/04/2025
8
Glynrr
1.00
18
4.83
13/01/2025
9
Sadie
1.00
6
4.17
10/10/2025
10
stoika
1.00
3
7.33
21/02/2025
` | General leaderboards |
| `
📅 Date:
—
🏁 Track:
Around The Docks
👥 Spaces:
998 available
(1/999)
Daily
Scheduled
🔁 Daily
⭐ 250 Points
Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your results are displayed on the…
📅 Date:
—
🏁 Track:
MP Hocus Pocus
👥 Spaces:
998 available
(1/999)
Daily
Scheduled
🔁 Daily
⭐ 250 Points
Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your results are displayed on the…
` | Events list |
| `
⏰ Soon
📅
—
🏁
Track:
Around The Docks
👥
Spaces:
998 available
(1/999 registered)
Daily
Scheduled
🔁 Daily
⭐ 250 Points
Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your…
⏰ Soon
📅
—
🏁
Track:
MP Hocus Pocus
👥
Spaces:
998 available
(1/999 registered)
Daily
Scheduled
🔁 Daily
⭐ 250 Points
Players can compete for the best daily lap time. To participate, you must be a registered member. Registration ensures your…
` | Events summary |
| `
` | Track list with lap times |
—
## Admin Features
### Dashboard Widget
**Location:** WordPress Admin → Dashboard
**Shows:**
– Total donations
– Today’s donations
– Site goal progress
– Pending donations count
### Admin Pages
**Coming Soon:**
– Track of the Week management
– Tournament management
– Crew management
– Donation tier management
– Charity impact stories
– Team fundraising management
—
## Database Tables
### New Tables Created
**Racing Features:**
– `wp_raycin_track_of_week`
– `wp_raycin_rivalries`
– `wp_raycin_social_feed`
– `wp_raycin_friends`
– `wp_raycin_time_attack_challenges`
– `wp_raycin_crews`
– `wp_raycin_crew_members`
– `wp_raycin_seasonal_competitions`
– `wp_raycin_track_reviews`
– `wp_raycin_racing_tournaments`
– `wp_raycin_tournament_participants`
– `wp_raycin_tournament_matches`
– `wp_raycin_live_races`
– `wp_raycin_race_replays`
– `wp_raycin_in_game_notifications`
**Donation Features:**
– `wp_raycin_recurring_donations`
– `wp_raycin_gift_donations`
– `wp_raycin_donation_tiers`
– `wp_raycin_charity_impact_stories`
– `wp_raycin_team_fundraising`
– `wp_raycin_team_fundraising_members`
– `wp_raycin_donation_matching`
—
## API Integration
### FiveM Integration
**Live Race Tracking:**
“`lua
— Start race
exports [ ‘raycin-api’ ]: startRace ( playerName , identifier , trackId , trackName )
— End race
exports [ ‘raycin-api’ ]: endRace ( identifier )
“`
**REST API Endpoints:**
– `/wp-json/raycin/v1/races/start` – Start live race
– `/wp-json/raycin/v1/races/end` – End live race
—
## Action Hooks
### Available Hooks
“`php
// Donation created
do_action ( ‘raycin_donation_created’ , $donation_id, $data);
// Donation milestone reached
do_action ( ‘raycin_donation_milestone_reached’ , $milestone, $total, $donation_id);
“`
### Filter Hooks
“`php
// Filter donation amount
apply_filters ( ‘raycin_donation_amount’ , $amount, $donation_data);
// Filter supporter badge display
apply_filters ( ‘raycin_supporter_badge_html’ , $badge_html, $user_id);
“`
—
## Notes
1. **Admin Interfaces:** Many features have database tables and methods but need admin UI interfaces. These can be added as needed.
2. **PDF Certificates:** Donation certificates require a PDF library (TCPDF or FPDF) to be installed.
3. **Discord Webhooks:** Users need to configure their Discord webhook URL in their profile for in-game notifications.
4. **Live Race Tracking:** Requires FiveM server integration to send race start/end events.
5. **Tournament Brackets:** Tournament bracket generation logic needs to be implemented for automatic bracket creation.
—
## Support
For questions or issues with these features, check the main plugin documentation or contact support.
**Last Updated:** November 2025