Our son is eight now and reads, writes, and talks fairly well, but it took us a while to get him started. One of the challenges we found was that a lot of the books weren't really engaging for him.
What we did find that really worked for him, and gave him a start into reading sentences, was a game where you could build a sentence up out of words (a bit like this Big Box of Sentence Building). We found that our son really liked making silly sentences - in particular, I remember once he made "the cat ate the baby" and was laughing so hard that he went red in the face and almost started having an asthma attack!
We continue to have difficulty encouraging him to read, because although he can do it he doesn't find a lot of interest in it.
One idea I had the other day was to make a game, which is a bit like Cards Against Humanity (a very adult party game) where basically you've got a number of questions, and a number of answers. What you do is you pick a question, and your child picks an answer that they find funny for the question. As part of this you can encourage them to read both the question and the answer
Example question with a few answers
My son found it very funny, while allowing him to do some reading and speaking, he also came up with some new answers which was nice to see a bit of imaginative play.
If anyone would like to download a copy of the game you can freely download it from the link below:
https://drive.google.com/drive/folders/1bndkzquHRSMIlP4xIT9NdnWp13_vbNpE?usp=sharing
Silly Words is licensed under Creative Commons Attribution-Noncommercial 4.0 license. https://creativecommons.org/licenses/by-nc/4.0/
Which basically means you can print it, play it, change it however you want for your use (I've included via the link the MS Publisher file that the game is made from so you can customise it for your child), but don’t make your fortune selling it :D