From Custom XML Feed to Production Review Integration
A WordPress XML/RSS project can sometimes evolve far beyond the original requirement. This case started with a relatively simple RSS feed problem and eventually became a custom XML integration for displaying Kiyoh customer reviews on a WordPress website.
The project involved multiple websites, custom XML processing, a WordPress plugin, external review data, and eventually a compatibility issue following a PHP 8.3 upgrade.
The Initial RSS Feed Problem
The project originally started in May 2024 when the client needed help creating an RSS feed for jonglogistiek.nl.
The client had already created an RSS feed using RSS.app, but several important fields were not being generated correctly:
- Some posts were missing their publishing date.
- Some posts had no image.
- The description was incorrect.
- The client wanted the first paragraph of each post to appear in the feed.
- A “Lees meer” (Read more) link was required after the introductory text.
The existing RSS.app feed was provided for reference, and a custom WordPress plugin was developed to generate the required RSS feed.
Expanding the Requirement: Custom XML
Shortly afterward, the client asked whether the service was limited to RSS feeds or whether other XML formats could also be created.
The requirement turned out to be completely different from the original RSS project.
The client was building a website for Boender Outdoor and wanted to display Kiyoh customer reviews on the website. Kiyoh provided review information through an XML feed, and the client wanted functionality similar to another website that was already displaying reviews using XML data.
The goal was to make the review information available on:
boenderoutdoor.nl/reviews
The client subsequently provided the Kiyoh XML feed URL and confirmed that the requirement was to import the review feed and display it on the website.
Reading the External XML Feed
After analyzing the requirement, the technical approach was straightforward:
- Retrieve the XML feed from Kiyoh.
- Read and process the review data.
- Make the review information available inside WordPress.
- Display the reviews on the client’s website.
- Allow the website’s existing design to control the presentation.
The client already had a design in mind, so the implementation focused primarily on processing the XML data rather than creating a new review interface from scratch.
This distinction is important in XML integrations: data processing and front-end presentation are often separate layers. A reliable feed integration should first make sure that the external data can be retrieved and interpreted correctly before worrying about styling.
A Production Issue Six Months Later
The project returned in December 2024 when the client reported that the original XML feed on Jonglogistiek.nl had stopped working.
The timing was critical because the client was preparing to launch an app that depended on the XML feed that same day.
The client provided access, and the issue was fixed quickly.
The feed URL remained:
jonglogistiek.nl/rssfeed.xml
After confirming that the feed was working again, the client placed an order for the fix.
This was an example of an important characteristic of XML integrations: the feed URL itself can become part of another application’s infrastructure. Once an app, portal, or external service depends on a feed, keeping that endpoint operational becomes important.
The PHP 8.3 Compatibility Problem
The next major issue appeared in August 2025.
The client upgraded the Boender Outdoor website to PHP 8.3, after which the Kiyoh review integration stopped displaying reviews correctly.
The client explained that a custom plugin was responsible for retrieving and processing Kiyoh’s XML feed hourly. The plugin provided shortcodes for displaying review statistics and reviews throughout the website.
Interestingly, some parts of the integration were still working.
The client reported that the review information at the top of the page was working, while another section displayed:
“Geen reviews gevonden”
meaning “No reviews found.”
The client wanted the review widget on the reviews page restored to its previous working state.
Diagnosing a Live WordPress Website
Because the website was live, the repair needed to be handled carefully.
Access initially became a challenge. The supplied WordPress credentials did not work, and the client encountered login problems as well. The client eventually disabled the firewall and provided working access, allowing the troubleshooting process to continue.
Once access was available, the focus was narrowed to the existing Kiyoh Review Verwerker plugin.
The client specifically clarified that:
- The existing styling was already correct.
- The plugin was already responsible for the XML functionality.
- The problem was that reviews were no longer being loaded on the reviews page.
- The desired presentation should remain unchanged.
This made the task a targeted compatibility/debugging job rather than a complete rebuild.
Restoring the Review Display
The existing review system was investigated and the review display issue was fixed.
The client had also requested that the reviews remain limited to 25 reviews per page. During the fix, it was confirmed that this limit was already configured, so no additional change was necessary for that requirement.
The client was informed that the issue had been fixed and was directed to the reviews page for verification.
The Technical Lesson
This project demonstrates why upgrading PHP versions on WordPress websites can expose problems in older custom integrations.
A site can appear to be functioning normally while a particular data-processing component silently stops working. In this case, the website’s styling and surrounding review interface were still present, but the external XML review data was no longer being displayed correctly.
Rather than rebuilding the entire system, the better approach was to:
- Identify the failing component.
- Preserve the existing design.
- Preserve the existing plugin architecture where possible.
- Check the external XML source.
- Investigate the data-processing path.
- Restore the review output.
- Verify the existing pagination requirement.
What This Project Shows
This project involved several different types of WordPress XML work over time:
1. Custom RSS feed development
A standard RSS service was not producing the required post data, so a custom WordPress feed was created.
2. Custom XML integration
The requirement expanded into processing an external Kiyoh XML review feed.
3. WordPress plugin development
The XML processing was integrated into a custom WordPress plugin with shortcodes for displaying review information.
4. External data retrieval
The website depended on XML data supplied by an external review platform.
5. PHP compatibility troubleshooting
After a PHP 8.3 upgrade, the review display stopped functioning correctly and required debugging.
6. Production maintenance
The issue was resolved on a live website while keeping the existing styling and functionality intact.
Conclusion
What began as a simple RSS feed requirement eventually became a longer-term XML integration and maintenance relationship.
The project illustrates an important principle in WordPress XML development:
A feed is not just an XML document—it can become a critical data bridge between WordPress, external platforms, widgets, and applications.
When that bridge stops working because of a PHP upgrade, changes in external XML data, or plugin compatibility issues, the solution requires more than simply checking whether the XML file exists. The complete flow—from external data retrieval to WordPress processing and final display—needs to be examined.
This case is a good example of how custom XML development can evolve into ongoing integration, troubleshooting, and maintenance work.
Leave a Reply