- Fixed dashboard data class to use consistent post_author queries instead of mixed _EventOrganizerID meta queries - This resolves the issue where dashboard showed 18 events but 0 tickets/revenue - Added WordPress API credentials to environment (.env) - Created comprehensive API debugging utilities (wp-api-debug.sh, wp-api-fix.sh, api-only-debug.sh) - Enhanced test and deployment suite with WordPress REST API capabilities - Root cause: get_total_tickets_sold() and get_total_revenue() were using _EventOrganizerID while other methods used post_author 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
93 lines
No EOL
3.3 KiB
Bash
Executable file
93 lines
No EOL
3.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Exit on error
|
|
set -e
|
|
|
|
# Source environment variables
|
|
if [ -f ".env" ]; then
|
|
source .env
|
|
else
|
|
echo "Error: .env file not found. Please create it with the required variables."
|
|
exit 1
|
|
fi
|
|
|
|
echo "===== Adding Ticket Sales Data ====="
|
|
|
|
# Create script to add ticket sales data to existing events
|
|
ADD_SALES_SCRIPT="<?php
|
|
require_once('wp-load.php');
|
|
|
|
echo \"Adding ticket sales data to existing events...\n\";
|
|
|
|
\$user = get_user_by('login', 'test_trainer');
|
|
if (!\$user) {
|
|
echo \"test_trainer user not found\n\";
|
|
exit(1);
|
|
}
|
|
|
|
// Get all events by test_trainer
|
|
\$events = get_posts(array(
|
|
'post_type' => 'tribe_events',
|
|
'author' => \$user->ID,
|
|
'posts_per_page' => -1,
|
|
'post_status' => array('publish', 'future', 'draft', 'pending', 'private')
|
|
));
|
|
|
|
echo \"Found \" . count(\$events) . \" events for test_trainer\n\";
|
|
|
|
\$total_added_tickets = 0;
|
|
\$total_added_revenue = 0;
|
|
|
|
foreach (\$events as \$event) {
|
|
// Check if event already has ticket sales data
|
|
\$existing_sold = get_post_meta(\$event->ID, '_tribe_tickets_sold', true);
|
|
\$existing_revenue = get_post_meta(\$event->ID, '_tribe_revenue_total', true);
|
|
|
|
if (!is_numeric(\$existing_sold) || \$existing_sold == 0) {
|
|
// Add random but realistic ticket sales data
|
|
\$sold = rand(5, 25);
|
|
\$price = rand(75, 200);
|
|
\$revenue = \$sold * \$price;
|
|
|
|
update_post_meta(\$event->ID, '_tribe_tickets_sold', \$sold);
|
|
update_post_meta(\$event->ID, '_tribe_revenue_total', \$revenue);
|
|
|
|
\$total_added_tickets += \$sold;
|
|
\$total_added_revenue += \$revenue;
|
|
|
|
echo \"Event {\$event->ID} ({\$event->post_title}): Added \$sold tickets, $\$revenue revenue\n\";
|
|
} else {
|
|
echo \"Event {\$event->ID} already has sales data: \$existing_sold tickets, $\$existing_revenue revenue\n\";
|
|
}
|
|
}
|
|
|
|
echo \"\\nTotal tickets added: \$total_added_tickets\n\";
|
|
echo \"Total revenue added: $\$total_added_revenue\n\";
|
|
|
|
// Test dashboard again
|
|
\$dashboard_data = new HVAC_Dashboard_Data(\$user->ID);
|
|
|
|
echo \"\\nUpdated Dashboard Results:\n\";
|
|
echo \"Total Events: \" . \$dashboard_data->get_total_events_count() . \"\n\";
|
|
echo \"Upcoming Events: \" . \$dashboard_data->get_upcoming_events_count() . \"\n\";
|
|
echo \"Past Events: \" . \$dashboard_data->get_past_events_count() . \"\n\";
|
|
echo \"Total Tickets: \" . \$dashboard_data->get_total_tickets_sold() . \"\n\";
|
|
echo \"Total Revenue: $\" . \$dashboard_data->get_total_revenue() . \"\n\";
|
|
|
|
echo \"\\nTicket sales data addition complete!\n\";
|
|
"
|
|
|
|
# Execute the script
|
|
echo "Executing ticket sales data script..."
|
|
sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && cat > add-sales-data.php << 'EOF'
|
|
$ADD_SALES_SCRIPT
|
|
EOF"
|
|
|
|
sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && php add-sales-data.php"
|
|
|
|
# Clean up
|
|
sshpass -p "$UPSKILL_STAGING_PASS" ssh -o StrictHostKeyChecking=no "$UPSKILL_STAGING_SSH_USER@$UPSKILL_STAGING_IP" "cd $UPSKILL_STAGING_PATH && rm add-sales-data.php"
|
|
|
|
echo -e "\n===== Ticket Sales Data Addition Complete ====="
|
|
echo "The dashboard should now show tickets sold and revenue data."
|
|
echo "Please refresh the dashboard page to see the updated numbers." |