upskill-event-manager/scripts/debug-find-trainer.sh
bengizmo 9055cddae5 feat: Implement comprehensive Find a Trainer feature with MapGeo integration
- 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>
2025-08-04 08:53:34 -03:00

76 lines
No EOL
2.7 KiB
Bash

#!/bin/bash
# Debug Find a Trainer feature
# Usage: ./scripts/debug-find-trainer.sh
source .env
echo "=== Debugging Find a Trainer Feature ==="
ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" << 'ENDSSH'
cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
echo "=== Checking if classes are loaded ==="
wp eval '
echo "HVAC_Find_Trainer_Page exists: " . (class_exists("HVAC_Find_Trainer_Page") ? "Yes" : "No") . "\n";
echo "HVAC_Trainer_Directory_Query exists: " . (class_exists("HVAC_Trainer_Directory_Query") ? "Yes" : "No") . "\n";
echo "HVAC_Contact_Form_Handler exists: " . (class_exists("HVAC_Contact_Form_Handler") ? "Yes" : "No") . "\n";
echo "HVAC_MapGeo_Integration exists: " . (class_exists("HVAC_MapGeo_Integration") ? "Yes" : "No") . "\n";
'
echo -e "\n=== Checking if shortcodes are registered ==="
wp eval '
global $shortcode_tags;
echo "hvac_trainer_directory shortcode: " . (isset($shortcode_tags["hvac_trainer_directory"]) ? "Registered" : "Not registered") . "\n";
echo "hvac_find_trainer shortcode: " . (isset($shortcode_tags["hvac_find_trainer"]) ? "Registered" : "Not registered") . "\n";
'
echo -e "\n=== Checking page content ==="
wp eval '
$page = get_page_by_path("find-a-trainer");
if ($page) {
echo "Page ID: " . $page->ID . "\n";
echo "Page Title: " . $page->post_title . "\n";
echo "Page Status: " . $page->post_status . "\n";
echo "Content length: " . strlen($page->post_content) . " characters\n";
echo "Contains shortcode: " . (strpos($page->post_content, "[hvac_trainer_directory]") !== false ? "Yes" : "No") . "\n";
} else {
echo "Page not found\n";
}
'
echo -e "\n=== Testing shortcode output ==="
wp eval '
if (shortcode_exists("hvac_trainer_directory")) {
$output = do_shortcode("[hvac_trainer_directory]");
echo "Shortcode output length: " . strlen($output) . " characters\n";
if (strlen($output) > 0) {
echo "First 200 chars: " . substr($output, 0, 200) . "...\n";
} else {
echo "Shortcode returns empty output\n";
}
} else {
echo "Shortcode not registered\n";
}
'
echo -e "\n=== Checking trainer profiles ==="
wp eval '
$profiles = get_posts([
"post_type" => "trainer_profile",
"post_status" => "publish",
"posts_per_page" => 5
]);
echo "Found " . count($profiles) . " trainer profiles\n";
foreach ($profiles as $p) {
$public = get_post_meta($p->ID, "is_public_profile", true);
echo "- " . $p->post_title . " (Public: " . ($public ? "Yes" : "No") . ")\n";
}
'
echo -e "\n=== Checking PHP errors ==="
tail -n 20 /home/974670.cloudwaysapps.com/uberrxmprk/public_html/wp-content/debug.log 2>/dev/null || echo "No debug log found or empty"
ENDSSH
echo "=== Debug Complete ==="