🚨 CRITICAL: Fixed deployment blockers by adding missing core directories: **Community System (CRITICAL)** - includes/community/ - Login_Handler and all community classes - templates/community/ - Community login forms **Certificate System (CRITICAL)** - includes/certificates/ - 8+ certificate classes and handlers - templates/certificates/ - Certificate reports and generation templates **Core Individual Classes (CRITICAL)** - includes/class-hvac-event-summary.php - includes/class-hvac-trainer-profile-manager.php - includes/class-hvac-master-dashboard-data.php - Plus 40+ other individual HVAC classes **Major Feature Systems (HIGH)** - includes/database/ - Training leads database tables - includes/find-trainer/ - Find trainer directory and MapGeo integration - includes/google-sheets/ - Google Sheets integration system - includes/zoho/ - Complete Zoho CRM integration - includes/communication/ - Communication templates system **Template Infrastructure** - templates/attendee/, templates/email-attendees/ - templates/event-summary/, templates/status/ - templates/template-parts/ - Shared template components **Impact:** - 70+ files added covering 10+ missing directories - Resolves ALL deployment blockers and feature breakdowns - Plugin activation should now work correctly - Multi-machine deployment fully supported 🔧 Generated with Claude Code Co-Authored-By: Ben Reed <ben@tealmaker.com>
		
			
				
	
	
		
			71 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Test page to verify certificate rewrite rules
 | |
|  */
 | |
| 
 | |
| // Exit if accessed directly
 | |
| if (!defined('ABSPATH')) {
 | |
|     exit;
 | |
| }
 | |
| 
 | |
| add_action('init', function() {
 | |
|     if (is_admin() && current_user_can('manage_options') && isset($_GET['test_certificate_rewrite'])) {
 | |
|         global $wp_rewrite;
 | |
|         
 | |
|         echo '<h1>Certificate Rewrite Rules Test</h1>';
 | |
|         echo '<pre>';
 | |
|         
 | |
|         // Check if our rewrite rule exists
 | |
|         $rules = $wp_rewrite->wp_rewrite_rules();
 | |
|         $found = false;
 | |
|         
 | |
|         echo "Looking for certificate rewrite rule...\n\n";
 | |
|         
 | |
|         foreach ($rules as $pattern => $redirect) {
 | |
|             if (strpos($pattern, 'hvac-certificate') !== false) {
 | |
|                 echo "✅ FOUND: $pattern => $redirect\n";
 | |
|                 $found = true;
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         if (!$found) {
 | |
|             echo "❌ Certificate rewrite rule NOT FOUND!\n\n";
 | |
|             echo "Attempting to add rule and flush...\n";
 | |
|             
 | |
|             // Try to add the rule
 | |
|             add_rewrite_rule(
 | |
|                 'hvac-certificate/([^/]+)/?$',
 | |
|                 'index.php?certificate_token=$matches[1]',
 | |
|                 'top'
 | |
|             );
 | |
|             
 | |
|             // Flush rules
 | |
|             flush_rewrite_rules();
 | |
|             
 | |
|             echo "Rules flushed. Refresh to check again.\n";
 | |
|         }
 | |
|         
 | |
|         // Check query vars
 | |
|         echo "\n\nRegistered Query Vars:\n";
 | |
|         global $wp;
 | |
|         if (in_array('certificate_token', $wp->public_query_vars)) {
 | |
|             echo "✅ certificate_token is registered\n";
 | |
|         } else {
 | |
|             echo "❌ certificate_token is NOT registered\n";
 | |
|         }
 | |
|         
 | |
|         // Show all rewrite rules (limited)
 | |
|         echo "\n\nFirst 20 Rewrite Rules:\n";
 | |
|         $count = 0;
 | |
|         foreach ($rules as $pattern => $redirect) {
 | |
|             echo "$pattern => $redirect\n";
 | |
|             if (++$count >= 20) break;
 | |
|         }
 | |
|         
 | |
|         echo '</pre>';
 | |
|         
 | |
|         echo '<p><a href="' . admin_url() . '">Return to Admin</a></p>';
 | |
|         
 | |
|         die();
 | |
|     }
 | |
| }); |