The accident happened around 11:30 a.m. Thursday on the 600 block of Newtown Road.
Police say the driver of the striking vehicle stayed at the scene.
The worker was transported to the hospital in unknown condition.
Warminster police are investigating.