is_hvac_page() || !$this->is_trainer_logged_in()) { return; } // Enqueue Font Awesome for icons wp_enqueue_style( 'font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css', array(), '6.0.0' ); wp_enqueue_style( 'hvac-help-system', HVAC_CE_PLUGIN_URL . 'assets/css/hvac-help-system.css', array('hvac-common-style', 'font-awesome'), HVAC_CE_VERSION ); wp_enqueue_script( 'hvac-help-system', HVAC_CE_PLUGIN_URL . 'assets/js/hvac-help-system.js', array('jquery'), HVAC_CE_VERSION, true ); wp_localize_script('hvac-help-system', 'hvacHelp', array( 'ajaxUrl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('hvac_help_nonce'), 'showWelcome' => $this->should_show_welcome_guide() )); } /** * Check if current page is an HVAC custom page */ private function is_hvac_page() { $hvac_pages = array( 'hvac-dashboard', 'trainer-registration', 'community-login', 'trainer-profile', 'event-summary', 'email-attendees', 'certificate-reports', 'generate-certificates', 'hvac-documentation' ); foreach ($hvac_pages as $page) { if (is_page($page)) { return true; } } return false; } /** * Check if current user is a logged-in trainer */ private function is_trainer_logged_in() { return is_user_logged_in() && (current_user_can('hvac_trainer') || current_user_can('administrator')); } /** * Check if welcome guide should be shown */ private function should_show_welcome_guide() { if (!$this->is_trainer_logged_in()) { return false; } // Check cookie for dismissal if (isset($_COOKIE['hvac_welcome_dismissed'])) { return false; } // Only show on dashboard page return is_page('hvac-dashboard'); } /** * Render welcome guide modal */ public function render_welcome_guide() { if (!$this->should_show_welcome_guide()) { return; } $cards = $this->get_welcome_cards(); ?>
'fas fa-chalkboard-teacher', 'title' => 'Verified Expert Platform', 'description' => 'You\'re part of our vetted community of HVAC training experts. Our screening process ensures only qualified professionals can host events on the platform.' ), array( 'icon' => 'fas fa-calendar-plus', 'title' => 'Create & Manage Events', 'description' => 'Easily create training events, set pricing, and manage registrations. All events are reviewed by our in-house trainers before publishing to ensure quality.' ), array( 'icon' => 'fas fa-dollar-sign', 'title' => 'Keep 100% Revenue', 'description' => 'You keep 100% of your ticket sales (minus standard Stripe processing fees). Track your earnings and progress toward your revenue goals right from your dashboard.' ), array( 'icon' => 'fas fa-certificate', 'title' => 'Professional Certificates', 'description' => 'Generate and send professional certificates of completion to your attendees. Build your reputation and provide value that keeps trainees coming back.' ) ); } /** * Handle AJAX request to dismiss welcome guide */ public function handle_welcome_dismissal() { if (!wp_verify_nonce($_POST['nonce'], 'hvac_help_nonce')) { wp_die('Invalid nonce'); } if (!$this->is_trainer_logged_in()) { wp_die('Unauthorized'); } // Set cookie to expire in 30 days setcookie('hvac_welcome_dismissed', '1', time() + (30 * 24 * 60 * 60), COOKIEPATH, COOKIE_DOMAIN); wp_send_json_success(); } /** * Render documentation page content */ public function render_documentation_page($atts) { if (!$this->is_trainer_logged_in()) { return 'Please log in to access the documentation.
'; } ob_start(); ?>Everything you need to know about managing your training events
Update your trainer profile with your credentials, business information, and training specialties. This helps trainees find and trust your expertise.
Edit ProfileUse our event creation form to set up your training. Include detailed descriptions, pricing, and capacity limits.
Create EventTrack your events, revenue, and performance metrics from your centralized dashboard.
View DashboardAccess detailed event information including attendee lists, sales data, and check-in capabilities. Each event has its own summary page accessible from your dashboard.
View all registrations, payment status, and attendee information from your event summary page. Export attendee lists for your records.
Send emails to all attendees or specific groups. Use our email templates or create custom messages for updates and reminders.
Mark attendees as present during your event. This data is used for certificate generation and completion tracking.
Create professional certificates for attendees who completed your training. Certificates include event details, your signature, and completion date.
Track which certificates have been issued and manage your certificate templates from the Certificate Reports page.
Payments are processed through Stripe and deposited directly to your account. You keep 100% of ticket sales minus standard Stripe processing fees (typically 2.9% + 30ยข per transaction).
Our review process typically takes 1-2 business days. We check for content quality, appropriate pricing, and compliance with industry standards.
Yes, you can edit event details, but significant changes may require re-review. We recommend finalizing details before initial submission.
Contact our support team immediately. We\'ll help you manage refunds and communicate with registered attendees.
Complete your profile thoroughly, use detailed event descriptions, competitive pricing, and maintain high attendance rates. Quality events get featured prominently.
Yes! You can offer in-person, virtual, hybrid, and on-demand training formats. Set your preferred training locations and formats in your profile.
Access this documentation anytime, use the help tooltips throughout the platform, or contact our support team for personalized assistance.