Irish actor Colin O'Donoghue has been cast as Captain Hook in US network ABC's fairytale drama Once Upon a Time.

Deadline.com reports that O'Donoghue will have a recurring role in the second season of the series.

Irish actress Sarah Bolger was cast as the Sleeping Beauty in the series earlier this summer.

O'Donoghue previously worked with ABC on the pilot episode for the drama Identity.