- Refactored registration form:
* Moved Application Details to Personal Information section
* Renamed Business Information to Training Organization Information
* Added required Organization Logo upload with media library integration
* Added Headquarters location fields (City, State/Province, Country)
* Moved training-related fields into Organization section
* Created conditional Training Venue Information section with auto-population
- Created comprehensive venue management system:
* Training Venues List page (/trainer/venue/list) with filtering and pagination
* Manage Venue page (/trainer/venue/manage) for create/edit operations
* Full integration with The Events Calendar venue post type
* AJAX-powered forms with real-time validation
- Created trainer profile system:
* Trainer Profile view page (/trainer/profile) with stats and certifications
* Profile Edit page (/trainer/profile/edit) with photo upload
* Years of experience tracking and professional information
* Integration with user meta and custom fields
- Created training organizers management:
* Organizers List page (/trainer/organizer/list) with search functionality
* Manage Organizer page (/trainer/organizer/manage) for CRUD operations
* Organization logo upload and headquarters tracking
* Full integration with The Events Calendar organizer post type
- Technical improvements:
* Modular PHP class architecture for each feature
* Comprehensive AJAX handlers with security nonces
* Responsive CSS design for all new pages
* JavaScript form validation and dynamic behavior
* Proper WordPress and TEC API integration
All new features follow hierarchical URL structure and include breadcrumb navigation.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
4.9 KiB
4.9 KiB
We need to make a few major updates to the plugin.
We will be refactoring the Trainer Registration Page.
- First, we want to edit the "Personal Information" section at the top of the form to be better aligned with our desired Trainer Profile page (which is associated with the User post type):[
- move the "Application Details" question to this section
- Ensure that the custom fields in this section are actually created as custom fields in the User post type.
- The Existing "Business Information" section should be renamed to "Training Organization Information". This will align with the TEC post type called "Organizer".
- It will list the following pre-existing fields from the TEC plugin ("*" means required): Org Name *, Org Phone *, Org Email *, Org Website, Org Description *, Org Logo * (featured image of the Organizer).
- We want to add new custom fields called "Org Headquarters City", "Org Headquarters State", and "Org Headquarters Country",
- We also want all custom fields moved from the "Training Information" into this new "Training Organization Information" section. These fields likely do not currently exist as field types, so we need to create them.
- We must modify how "Venue" records are created. A Venue is a special post type from The Events Calendar Plugin, and all users with the HVAC Trainer role should be associated with at least 1 Venue (created during registration). Here's the changes we want in this section:
- The "Address Information" extion should be renamed to "Training Venue Information", and it should be moved to the end of the form.
- This section already has a question which asks "Create Training Venue Profile?", which is meant to auto-populate the training venue profile. It should default to "Yes".
- The following custom fields fields will be conditionally visible when "Yes" is selected, and though most are auto-populated from the Org section above, the user should be able to edit them: Venue Name (defaults to [Org Name] + " of " [Org City]), Street Address, City, State/Province, Country, Postal Code, Phone, Website
Next, we want to update/add pages which are accessible to logged in trainers.
- "Training Venues" Page (/trainer/venue/list): This page will allow the users to view a list of all training venues, even ones they didn't create. This should be in table format with similar filters/pagination as the dashboard page. If they are the author of a venue, then they there should be an "Edit" button beside that venue in the table.
- "Manage Venue" Page (/trainer/venue/manage): This should have similar functionality to the "Manage Event" page, but will allow the user to create new Venuws or edit Venues which they are the author of, including all default and custom fields related to the Venue post type.
- "Trainer Profile" Page (/trainer/profile and /trainer/profile/edit): This will be where trainers can view all default and custom fields related to the User post type.
- "Training Organizers" Page (/trainer/organizer/list): This should have similar functionality to the "Manage Event" page, but will allow the user to create new Venuws or edit Organizers which they are the author of, including all default and custom fields related to the Organizer post type.
- "Manage Venue" Page (/trainer/organizer/manage): This should have similar functionality to the "Manage Event" page, but will allow the user to create new Venuws or edit Organizers which they are the author of, including all default and custom fields related to the Organizer post type.
Finally, We should refactor the navigation, URL structure, and add Breadcrumbs.
- URL structure should generally align with the menu structure and we should also add breadcrumbs at the top of each page which also match the same patterns (trainer/dashboard/ = Trainer > Events > Dashboard; trainer/certificates/reports = Trainer > Certificates > Reports;
- Instead of having a series of custom buttons, we should create a native wordpress "Menu". It should be a Secondary Menu only available to Logged in users with the HVAC Trainer Role, and will only be shown on the custom pages from our custom plugin. As follows: Events ├─ Dashboard ├─ New Event Certificates ├─ Reports ├─ New Certificate Customize ├─ Personal Profile ├─ Training Organizers │ ├─ Add New Organizer (links to the Manage Organizer Page) ├─ Training Venues │ ├─ Add New Venue (links to the Manage Venue Page) Logout Help
Your first task is to perform a detailed review of the existing page structure and ultrathink a plan to acheive the desired changes. Pay special attention to all of the requisite custom fields and ensure that you follow best practices in creating the field and associating them with the appropriate post types. If there are inherent wordpress limitations which prevent you from achieving your directives, inform the user before making your plan.