News Website · WordPress
TVR Info
TVRInfo.ro is the web home of TVR Info, the round-the-clock news channel of Televiziunea Română. We build and maintain the platform behind it: a custom WordPress theme with block-based editorial layouts, plus the data pipelines that bring in TV schedules, weather and partner news and send stories out to syndication partners.
Visit website
The challenge
What needed to change
The website has to keep pace with a live TV newsroom: breaking stories, live video, programme schedules and weather — all edited by journalists, not developers. Editors needed to rearrange sections, pin stories and switch layouts in minutes, without asking for help.
Behind the pages, TV schedules for twelve channels and national weather arrive as inconsistent, often malformed XML; content has to flow in from TVR and partner outlets and out to the Agerpres news agency and Libertatea; and since most stories lead with broadcast video, every one of them needs a correct thumbnail in every crop.
Our approach
How we solved it
We kept the WordPress core stock and upgradable and put every piece of business logic into the theme’s namespaced classes and must-use plugins — versioned in git and impossible to switch off from the dashboard. The front page is a stack of custom ACF blocks: editors hand-pick the stories that matter, and each block fills the remaining slots with the latest from its category, without duplicates.
Every external integration is its own plugin with a REST route, called by a server cron, so ingestion never slows down a page view and the theme only reads local data. The TV schedule parser repairs broken XML before reading it and maps shows after midnight to the right broadcast day; partner imports are idempotent; and each syndication partner gets its own tailored feed.
Six custom Gutenberg blocks — section and hero layouts, quotes, related stories, TVR recommendations and partner stories — with “pin, then auto-fill” logic
Breaking-news slot and “Latest news” ticker driven by the editors, with only one breaking story at a time
TV guide for 12 national and regional TVR channels, built from repaired XML feeds into a dedicated table
National weather from ANM feeds, with icons mapped from ANM codes and Bucharest averaged from three stations
Outbound feeds for Agerpres, Libertatea and news aggregators, with publish dates normalised to Bucharest time across DST changes
Automatic featured images: FFmpeg grabs a frame from uploaded video, or the YouTube poster is imported — then cut into 25 crop sizes
Fast full-text search over a large archive with ElasticPress
A locked-down editorial back office with 2FA, a views counter and a 12-hour “Most read” widget
GDPR-compliant analytics: no tracker fires before consent
Inside the product
The results
What changed for the client
- 4
- Automated inbound data pipelines
- 3
- Outbound feeds for partners
- 12
- TVR channels in the TV guide
- 6
- Blocks that let editors run the front page
Built with
Next project
Reutilizare.ro
View case study