Best structure for entering recipes in a WordPress theme?

It’s a good idea to use a custom taxonomy to link your ingredients, as this will allow you to get recipes by ingredient. This also means you don’t have to store each individual ingredient as a separate meta key-value pair, as you won’t do any lookups there. Just store one big object, ingredients, as an ordered list of ingredients and their quantities and units. Read it out when you display the page.

So something like this:

$ingredients = array(
    'eggs' => array(4),
    'whole wheat flour' => array(1, 'cup'),
    'baking powder' => array(1.5, 'teaspoon'),
);

You could also use the ingredient slug or id as the index of the array, then you can cross link from the ingredient list.

By separating the number and the units, you can adjust the numbers for number of guests. Say your default is 4 and I have 6 guests, you just multiply everything by 1.5. You can even include a US to metric conversion! But I’ll stop before this becomes a Seasoned Advice question!