# 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 |
| `
Overall Tracks
307
(Tracks matching current filters)
Class Types
21
(Distinct classes in this view)
Race Type Breakdown
Deadline
14
Face To Face
31
Hunting Pack
13
Multi Purpose
70
Parkour
2
Playground
6
R Hotring Circuit
15
Rally
8
Random Transform
19
Runner vs Vehicle
10
Stunt Race
48
Sumo
15
Sumo (Remix)
7
Transform
39
Image
Track Name ↑
Difficulty ↕
Class ↕
Race Type ↕
Length (km) ↕
Checkpoints ↕
Lap Times
Vespucci
0.30
Super
Stunt Race
3.37
58
—
Vicious Spiral
0.40
Super
Stunt Race
3.68
36
🏆 02:42.61
Vinewood Downhill
0.30
Motorcycles
Stunt Race
4.73
66
—
Vinewood Thrills
0.67
Motorcycles
Transform
9.27
72
—
Wall Climb
0.50
Super
Stunt Race
3.69
47
🏆 02:52.32
Warped
0.93
Super
Transform
9.15
54
—
Zebra
0.30
Sports
Stunt Race
3.56
39
🏆 03:22.09
` | 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