The problem
Aifitec is a vocational training school in Reggio Calabria and Siderno, in southern Italy, that also offers employment services such as staff leasing and internships. It needed one site for its courses, its online classes and its office work. The Eduma theme with LearnPress was a starting point, but out of the box it looked generic, was only partly in Italian and had no tools for the back office.
What I built
I turned a standard WordPress e-learning setup into a complete platform, with all custom code in 64 must-use plugin files.
- A custom classroom — lessons and quizzes open in a dedicated layout with the course outline, completed items, a “complete lesson” button and previous/next navigation, plus a video and a PDF attached to each lesson.
- Student area — a custom home page and profile with enrolled, completed and in-progress courses and a progress bar for each one.
- Enrolments and payments — course checkout with PayPal and bank transfer, and an admin section to follow enrolments and payments.
- Electronic invoices — a customer register with Excel import, and a generator of FatturaPA XML files, the format required for Italian e-invoicing, ready to send to the provider.
- Consultation calendar — booking and information requests from the site are saved and shown in a monthly calendar in the admin.
- Sign in with Google — on the login and registration forms, configured from an Integrations page.
- AI settings — one place to choose an AI provider (Anthropic Claude or OpenAI), model and prompt, with a connection test, ready for other modules to use.
Built with
WordPress, Eduma theme, LearnPress, Elementor, Contact Form 7, H5P and WooCommerce, extended with custom must-use plugins in PHP, on cPanel hosting.
Why it was done this way
Every customisation lives in must-use plugins, not inside the theme or LearnPress. Both can still be updated from WordPress, and the custom work is not overwritten when they are.


