Thanks for the replies. In the end these approaches did not produce data I could detect in my plugin, so I added update_option(‘FirstPost’, TRUE); to the main template before the loop, then in the plugin used get_option() to pull the value and update it to false if it was true.