Issue summary:
The Veteran Job Network project required a complete rebuild in WordPress, including an automated job import system using XML feeds from multiple external sources. The development team implemented a solution using WP All Import Pro, custom post types, and filtering functionality to create a robust and searchable job board.
Issue background
The client’s legacy site was a static job board that displayed employment listings for veterans, but the process for posting and updating jobs was fully manual. Each listing had to be entered, updated, or removed by hand—an inefficient and error-prone workflow.
The new WordPress build needed to:
- Automatically import job data from several XML feed sources.
- Display jobs by category, location, and employer.
- Provide a user-friendly search and filtering experience.
- Support ongoing synchronization between external job sources and the WordPress database.
Additionally, the client wanted to retain the ability to manually post individual jobs when necessary and to generate backend reports for auditing purposes.
Diagnosis
Early planning revealed several key challenges:
- Multiple XML sources: The project required combining several feeds, including feeds from National Diversity Network and JobTarget, each with different field structures and encoding formats.
- Dynamic data management: Imported job listings needed to auto-update—removing expired jobs and adding new ones on a schedule.
- Frontend integration: The new job listings had to be fully integrated with Divi layouts while maintaining lightweight performance and search functionality.
- Special character encoding: One feed was delivering text with encoded characters (like ' for apostrophes) that needed to be correctly displayed on the frontend.
Resolution steps
- Custom post type creation:
- Registered a new “Jobs” post type using a custom plugin to separate job listings from regular content.
- Added custom fields with Advanced Custom Fields (ACF) for job title, company name, city, state, job ID, category, and apply URL.
- Automated XML import setup:
- Installed WP All Import Pro with the Custom Post Type add-on.
- Mapped XML nodes to ACF fields to ensure clean, consistent data entry.
- Set up a cron job to run daily imports, keeping listings up to date without manual intervention.
- Configured automatic removal of outdated jobs.
- Search and filtering:
- Integrated Search & Filter Pro to allow users to filter by category, title, or location.
- Used AJAX to load filtered results dynamically without page reloads.
- Frontend design integration:
- Used Divi’s Theme Builder to design archive and single job templates.
- Populated each layout dynamically with ACF field data.
- Ensured the apply button redirected to each job’s external application URL.
- Text encoding fix:
- A small PHP snippet was added to decode HTML entities before rendering category names or titles, fixing the display issue with apostrophes and special characters.
- Quality assurance and testing:
- Verified feed connections and confirmed all job listings displayed properly.
- Tested the search filter responsiveness across mobile and desktop.
- Checked backend report views for job posting data integrity.
Final outcome
The new Veteran Job Network site was successfully rebuilt with full XML automation. The system now:
- Syncs thousands of job postings daily from verified external feeds.
- Allows admins to manually post or edit listings as needed.
- Displays jobs cleanly with accurate formatting and filtering tools.
- Operates efficiently with minimal maintenance or manual updates.
The apostrophe encoding issue was also resolved with a dynamic fix, ensuring all imported data renders correctly.
Key takeaways
- WP All Import Pro remains the best choice for managing XML feed imports into WordPress due to its flexible mapping and scheduling tools.
- Custom post types + ACF make imported content maintainable and editable by site admins.
- Search & Filter Pro or FacetWP are excellent for AJAX-based filtering on large datasets.
- Always check for encoding issues in XML feeds, as character entities can appear as artifacts on the frontend.
If your WordPress site needs to automate content imports or connect with third-party data feeds, contact the Freshy team for expert setup and integration support.