Assign CPT archive page attributes

Your recipe archive itself doesn’t have a post or page to attach meta such as featured images to.

Since you posted no code and my psychic powers are not working today, I’m going to assume that one of these is your situation:

  • Top recipes and the recipes archive are identical with no difference
  • Top recipes uses pre_get_posts to modify the main loop

I would advise you don’t reuse archive-recipe.php, and instead have 3 files, the archive template, the page template, and the common code pulled in via get_template_part

Possible solutions, starting with the hackiest and moving towards the nicest:

  • use is_archive() to display a hardcoded featured image on the archive page but not when used as a page template
  • Do a search using WP_Query for posts of type page with the post meta matching the page template archive-recipes.php and display the first ones featured image
  • Add a dropdown menu in the backend options under reading allowing you to pick the top recipes page, then grab the ID via get_option on your archive page
  • Realise that a recipe archive and a top recipes list are not the same thing and that naming them the same and giving them the same template is bad design, bad implementation, bad seo, bad practice, bad user interaction, and utterly confusing.