*Club domestic league appearances and goals, correct as of 11:45, 14 November 2024 (UTC) ‡ National team caps and goals, correct as of 11:45, 14 November 2024 (UTC)
Daniels joined West Bromwich Albion in 2009 from Reading and quickly made himself a regular in Albion's FA Premier Academy League Under-18s side before moving into the Under-21s and captaining them.[4] Developing through the academy, Daniels was awarded with first professional contract, which keep him until 2013.[4] Not only that, Daniels ended up being awarded the Baggies’ 2011–12 Young Player of the Year Award.[5]
After his loan spell at West Brom came to an end, the club opted to take up their option of a contract extension on Daniels to stay for another season.[6] After Daniels skippered Albion to victory in the Birmingham Senior Cup final against Tamworth in 2014,[7] the club, again, opted to take up their option of a contract extension on Daniels to stay for another season.[8] Daniels had his contract extended for another season.[9]
In the 2012–13 season, Daniels joined Tranmere Rovers on 22 November 2012, on loan.[10] He made his debut on 21 December, in a heavy 5–0 defeat away to Swindon Town.[11] His five appearances with Tranmere Rovers led Daniels to have a loan extension for further month, before it was extended until the end of the season.[12][13] On 19 February 2013, he scored his first senior goal, in a 3–1 defeat against Swindon.[14] After making thirteen appearances and scoring once, Daniels returned to his parent club after being recalled.[15]
On 25 November 2013, Daniels joined Gillingham on loan until 3 January 2014[16] and he played the following evening against Stevenage, where he scored in the 52nd minute on his debut in a 3–2 home victory for Gillingham.[17] After making three appearances and scoring once, Daniels returned to his parent club.[18]
On 1 August 2014, he joined Blackpool on a 28-day youth loan.[19] He made his debut for the club on 9 August, losing 2–0 to Nottingham Forest in the opening game of the season.[20] Daniels loan spell with Blackpool was soon extended until 2 January 2015.[21]
In November 2014, Blackpool were fined £30,000 for playing Daniels after his youth loan had expired. He had played against Millwall on 30 August 2014.[22] Daniels then scored his first goal for the club on 18 October 2014, in a 4–2 loss against Huddersfield Town.[23] By the end of November, Daniels missed four matches over "rules prevent clubs naming more than five loan players in their team".[24] Daniels made his return on his last appearance on 26 December 2014, in a 1–0 loss against Sheffield Wednesday.[25] The loan spell came to an end in December.[26]
On 27 January 2015 he joined Aberdeen on loan until the end of the season.[27] He scored on his debut for Aberdeen on 31 January 2015, against Dundee United in the semi-final of the Scottish League Cup, but Aberdeen went on to lose the match 2–1.[28] Daniels went on to make nine appearances for the club.
Wigan Athletic
On 30 June 2015, Daniels signed for Wigan Athletic on a three-year deal.[29] On 19 August 2015, he scored his first goal for the club in a 3–0 home victory against Scunthorpe United.[30] After a successful first season with the club injury blighted his second, ruling him out for the majority of the 2016–17 season.[31]
On 31 August 2017, Daniels signed for Rochdale on a season-long loan.[32]
He was released by Wigan at the end of the 2017–18 season.[33]
Blackpool
Daniels spent a season with League One club Blackpool, signing on 9 August 2018.[34] Daniels made his first competitive appearance upon returning to the club on 14 August 2018 in a 3–1 victory in the EFL Cup over Barnsley.[35]
Luton Town
In 2019, he signed for Luton Town for an unknown fee. He played two matches and scored a goal against Derby County in a 3–2 win.[36]
Crewe Alexandra
On 27 August 2020, Daniels signed a two-year deal with newly promoted Crewe Alexandra after leaving Luton Town,[37] making his debut the following month in the EFL Trophy against Newcastle United's Under-21 team.[38] He made his first league start for Crewe on 10 October 2020 against former club Wigan at Gresty Road, but was substituted after an injury early in the first half.[39] He eventually returned to the first team in February 2021, but, on just his fourth league appearance for Crewe, suffered another injury in a 1–1 draw at former club Blackpool on 2 March 2021.[40] After a two-week absence, he returned to the side, playing in Crewe's final 11 games of the season.
Walsall
On 24 January 2022, Daniels left Crewe Alexandra by mutual consent[41] to sign for EFL League Two side Walsall on a five-month deal.[42] He made his debut for the club the next day, starting in the 2–1 home defeat against Bradford City.[citation needed] He scored his first goal on the 5 March 2022 in a 1–1 with Barrow and signed a new contract until the summer of 2023 on 29 April.
He was appointed club captain prior to the 2022–23 season. On 3 July 2023 he signed a contract until the summer of 2025.[43] On 27 January 2024 he scored in a 1–1 draw with Sutton United which was the winner of EFL League Two goal of the month.[44] Daniels made his 100th appearance for the Saddlers in a 2–1 win over Salford City on 1 April 2024.