Currently in Classic WoW it seems impossible to change the order of your guild ranks through the UI. Every new rank you add is appended to the end of the list, leading to weird cases where people have to be “demoted” to some new officer rank you created in hindsight.
Our guild faced the same issue, and I looked around to see if anyone had a solution. I found several posts asking the same question, but no answers. Since I found out how to do it, I’d like to put it out there for people in the same situation.
As it turns out, the Classic API has a function to adjust ranks already (probably because this function exists in Retail, which uses the same API). The thing is, it’s just not visible in the UI, so you have to call it manually. Just open your chat or make a macro and write:
/run GuildControlShiftRankUp(i)
, where i is the index of the rank you want to move up (starting from 1 at the Guild Master)
/run GuildControlShiftRankDown(i)
if you want to move it down.
If you aren’t sure whether you’re targeting the right rank, you can check its name with:
/run print(GuildControlGetRankName(i))
, which will print the rank name in your dialogue box.
Make sure you are a Guild Master when you try this, because other members won’t have the rights to adjust rank orders. If you want to move a rank several levels up, remember to change the index with every new call (8, 7, 6, …) since the rank will be in a different position each time.
That’s it, really. I hope it will be added to the Classic UI soon.