- Created Find a Trainer page with interactive map and trainer directory - Integrated MapGeo plugin for displaying 45+ geocoded trainer locations - Built advanced filtering system (State/Province, Business Type, Training Format, Training Resources) - Implemented trainer profile cards with View Profile and See Events buttons - Added contact form handler with validation and email notifications - Created database table for tracking contact submissions - Responsive design with mobile-friendly layout - AJAX-powered search and filter functionality - Pagination support for trainer directory - Call to action for trainer registration Technical Implementation: - HVAC_Find_Trainer_Page: Main page handler with custom template - HVAC_MapGeo_Integration: Map marker management for trainer locations - HVAC_Contact_Form_Handler: Form processing with rate limiting - HVAC_Trainer_Directory_Query: Advanced querying with caching - HVAC_Contact_Submissions_Table: Database operations for submissions Tested with existing 53 trainer profiles, 45 geocoded locations Page live at: /find-a-trainer/ Co-Authored-By: Ben Reed <ben@tealmaker.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Update Find a Trainer page to use custom template
 | |
| # Usage: ./scripts/update-find-trainer-template.sh
 | |
| 
 | |
| source .env
 | |
| 
 | |
| echo "=== Updating Find a Trainer Page Template ==="
 | |
| 
 | |
| ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" << 'ENDSSH'
 | |
| cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
 | |
| 
 | |
| # Update the page to use the custom template
 | |
| wp eval '
 | |
| $page = get_page_by_path("find-a-trainer");
 | |
| if ($page) {
 | |
|     // Update to use custom template
 | |
|     update_post_meta($page->ID, "_wp_page_template", "templates/page-find-trainer.php");
 | |
|     
 | |
|     // Clear the content since we are using a template
 | |
|     wp_update_post([
 | |
|         "ID" => $page->ID,
 | |
|         "post_content" => ""
 | |
|     ]);
 | |
|     
 | |
|     echo "Page updated to use custom template\n";
 | |
|     echo "Page ID: " . $page->ID . "\n";
 | |
|     echo "Template: " . get_post_meta($page->ID, "_wp_page_template", true) . "\n";
 | |
| } else {
 | |
|     echo "Find a Trainer page not found\n";
 | |
| }
 | |
| '
 | |
| 
 | |
| # Clear cache
 | |
| wp cache flush
 | |
| echo "Cache cleared"
 | |
| 
 | |
| ENDSSH
 | |
| 
 | |
| echo "=== Template update complete ==="
 | |
| 
 | |
| # Deploy the updated plugin with the new template
 | |
| echo "=== Deploying updated plugin ==="
 | |
| scripts/deploy.sh staging
 | |
| 
 | |
| echo "=== Update Complete ===" |