The correct option is D have just had
Adverbs are words that modify verbs, adjectives and other adverbs.
'Just' is an adverb of time as it means 'very recently'.
Option D: 'Have just had' is the most suitable option. 'Have' is an auxiliary verb. When an adverb (just) modifies the main verb (had), and there's an auxiliary (helping) verb 'have' too, then the adverb is positioned after that auxiliary verb, i.e. have just had.
Hence option D is correct.
Option A: 'Have just' is missing the main verb 'had'. 'Had' here means 'eaten'. Without this verb the meaning of the sentence is incomplete. Hence A is incorrect.
Option B: The auxiliary 'have' comes before the main verb 'had' and not after. Hence B is incorrect.
Option C: 'Recently' is an adverb, but there is no verb to modify. As a result, the sentence is not complete. Hence C is incorrect.