At this stage, I wouldn't spend a cent replacing anything. Chainring slippage usually manifests on only a single specific ring. Cassette/freewheel slippage, likewise on one or two sprockets which are used most. Totally random slippage in any gear points elsewhere.
Start by
measuring your chain for wear, aka "stretch". That will point you in a direction. If the chain is stretched less than 2% (which is pretty extreme) my money is that it's not the chain or sprockets.
As a crap shoot guess, based on no info except the one photo, I suspect that the chain needs lubrication (consider the source), and if cleaned and oiled will work fine. What many people discount is that the lower loop has very little tension, so if the chain is dry or rusty and not supple, it doesn't wind onto sprockets easily at the bottom of the cassette. That allows it to climb up to the tips, and when that non-engaged section comes to the top, it slips forward before dropping in and engaging anew.
Proper lubrication solves that, but isn't magic, and can't make up for overly worn parts. But it does make the entire system more forgiving and where parts are acceptably worn can make the difference between working or not. In any case, a few minutes to measure the chain, and a few drops of oil worth a buck at most is a far better investment at this stage than spending dough replacing stuff willy-nilly.