Alright, confirmed bug, but not one that’s difficult to get around either. I have already filed an issue for it on GitHub so that it is known to get fixed.
Basically, for both shortcodes, we have the html ID attribute of “badgeos-achievements-container” on them. This is all fine and dandy, at least when using one shortcode per page. However, once someone starts listing more at a time, those IDs start to clash (and honestly should be unique anyway), especially when it comes to [badgeos_achievements_list]
which has ajax attached to it.
When [badgeos_achievements_list]
is listed first, I wasn’t able to experience issues, because its own div container, and proper one, was found first by the javascript and replaced correctly, with the single achievements remaining below it. Once [badgeos_achievements_list]
was NOT listed first, then the issues cropped up, because the ajax was finding a single achievement div first and thus replacing its html unintentionally.
So there’s two fixes that can be done at the moment.
First one is simply have the [badgeos_achievements_list]
shown first.
Second one, and less foolproof, especially if we don’t do the same edit for the bug fix, is editing the output for the [badgeos_achievement]
shortcode to not match the ID attribute. That spot is in /includes/shortcodes/badgeos_achievement.php
around line 53.
Hope that helps clarify some stuff. If you want to follow along with the issue on GitHub, it’s at https://github.com/opencredit/badgeos/issues/420