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(); ?>

Welcome to Upskill HVAC Training Network!

$card): ?>

'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(); ?>

Trainer Documentation

Everything you need to know about managing your training events

get_documentation_content(); ?>

Getting Started

1. Complete Your Profile

Update your trainer profile with your credentials, business information, and training specialties. This helps trainees find and trust your expertise.

Edit Profile

2. Create Your First Event

Use our event creation form to set up your training. Include detailed descriptions, pricing, and capacity limits.

Create Event

3. Monitor Your Dashboard

Track your events, revenue, and performance metrics from your centralized dashboard.

View Dashboard

Managing Events

Event Creation Process

  1. Draft: Create your event with all details
  2. Review: Our team reviews for quality and compliance
  3. Published: Event goes live for registration

Key Event Features

  • Multiple ticket types and pricing tiers
  • Capacity management and waitlists
  • Custom registration fields
  • Automated confirmation emails

Event Summary Page

Access detailed event information including attendee lists, sales data, and check-in capabilities. Each event has its own summary page accessible from your dashboard.

Attendee Management

Registration Tracking

View all registrations, payment status, and attendee information from your event summary page. Export attendee lists for your records.

Communication Tools

Send emails to all attendees or specific groups. Use our email templates or create custom messages for updates and reminders.

Check-in System

Mark attendees as present during your event. This data is used for certificate generation and completion tracking.

Professional Certificates

Certificate Generation

Create professional certificates for attendees who completed your training. Certificates include event details, your signature, and completion date.

Distribution Options

  • Email directly to attendees
  • Download PDF files for printing
  • Bulk generation for multiple attendees

Certificate Management

Track which certificates have been issued and manage your certificate templates from the Certificate Reports page.

Frequently Asked Questions

How do I get paid for my events?

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).

How long does event review take?

Our review process typically takes 1-2 business days. We check for content quality, appropriate pricing, and compliance with industry standards.

Can I modify events after they\'re published?

Yes, you can edit event details, but significant changes may require re-review. We recommend finalizing details before initial submission.

What if I need to cancel an event?

Contact our support team immediately. We\'ll help you manage refunds and communicate with registered attendees.

How do I improve my event visibility?

Complete your profile thoroughly, use detailed event descriptions, competitive pricing, and maintain high attendance rates. Quality events get featured prominently.

Can I offer different types of training?

Yes! You can offer in-person, virtual, hybrid, and on-demand training formats. Set your preferred training locations and formats in your profile.

What support is available?

Access this documentation anytime, use the help tooltips throughout the platform, or contact our support team for personalized assistance.

'; } /** * Add tooltip data attribute to elements */ public static function add_tooltip($content, $tooltip_text, $position = 'top') { return sprintf( '%s', esc_attr($tooltip_text), esc_attr($position), $content ); } } // Initialize the help system HVAC_Help_System::instance();