Preheat the oven to 350°F (175°C). Grease an 8.5×4.5-inch loaf pan with the softened butter and line the long side with a parchment sling.
Measure the flour: From the 2 cups of flour, remove 1 tbsp and set it aside in a small bowl for the fruit and nuts.
Prepare the mix-ins: Coarsely chop the cranberries and walnuts. Toss them with the reserved 1 tbsp flour until lightly coated; set aside.
Make the dry base: In a large bowl, whisk the remaining flour with the sugar, baking powder, baking soda, and salt.
Make the wet mixture: In a separate bowl, whisk the orange zest, orange juice, egg, and oil until smooth and emulsified.
Combine: Make a well in the dry ingredients and pour in the wet mixture. Stir with a spatula just until no dry streaks remain; do not overmix.
Fold in the coated cranberries and walnuts until evenly dispersed. Scrape the batter into the prepared pan and smooth the top.
Bake until the loaf is deep golden and a toothpick inserted in the center comes out with a few moist crumbs, 55–65 minutes. If the top is browning too quickly, tent loosely with foil for the last 10–15 minutes.
Cool in the pan for 10 minutes, then lift out to a wire rack and cool completely, at least 1 hour, before slicing.