When a theme calls get_the_alphalisting() or the_alphalisting() more than once with the same query during one request, the first render advances the cached Query object's letter and item offsets to the end, and this branch returns that exhausted instance for the second render, which therefore emits no letter sections. The alphalisting_shortcode_end flush does not help direct template-tag calls; preserve reuse during procedural loops while resetting or evicting an instance after a complete listing render.
When a theme calls get_the_alphalisting() or the_alphalisting() more than once with the same query during one request, the first render advances the cached Query object's letter and item offsets to the end, and this branch returns that exhausted instance for the second render, which therefore emits no letter sections. The alphalisting_shortcode_end flush does not help direct template-tag calls; preserve reuse during procedural loops while resetting or evicting an instance after a complete listing render.