WordPress.org

Ready to get started?Download WordPress

Forums

Achievements for WordPress
[resolved] Feedback: Single Achievement Awarded Multiple Times (11 posts)

  1. mikebronner
    Member
    Posted 1 year ago #

    We have different types of achievements on our site:
    - Ribbons: can only be earned once, based on events or activities
    - Medals: can be earned repeatedly, based on conduct

    I am wondering what would need to be changed in the core to allow this concept? Would the core functionality already allow this if we had a way to assign an achievement multiple times to a given user?

    If so, then I have a few ideas:
    - Extend the custom taxonomy code (child theme) to flag what each type of achievement can do (single or multiple)
    - Group achievements by category on the user profile
    - Display checkboxes for a category that allows one-time achievements
    - Display a drop down with an "Add" for a category that allows multiple

    What are your thoughts on this? If the core can support this, I'll start playing with this functionality and see if I can't get something working. I just wanted to check with you first, as I don't want to rewrite the core relationships between achievement and progress post types.

    Thanks Paul!
    ~Mike

    http://wordpress.org/extend/plugins/achievements/

  2. Paul Gibbs
    BuddyPress Lead Developer
    Plugin Author

    Posted 1 year ago #

    Hey Mike,

    The plugin is designed so that it checks for a post with post_type=dpa_progress with parent_id=XXX and matching Author/User ID. The problem is awarding the same achievement multiple times; as the matching progress post type will already exist, it won't award the same achievement again.

    The next problem I can see is that the achievement would only be listed in the "unlocked achievements" screens once; again because each result maps directly to a progress post type.

    Happy to discuss your thoughts on implementation, but I think this will require a lot of complicated changes as the plugin wasn't built to work like this :)

  3. allmyleagues
    Member
    Posted 1 year ago #

    Big +1 to this idea. I run a fantasy sports website and some of my members have won multiple championships in the same sport. As it stands right now I can only award them one championship award.

  4. Paul Gibbs
    BuddyPress Lead Developer
    Plugin Author

    Posted 1 year ago #

    It's an interesting idea, but not one I had in mind when architecting version 3.0 of the plugin. As such, it's unlikely to get added to Achievements for the foreseeable future unless I find a good technical solution.

  5. AlexiousRahl
    Member
    Posted 1 year ago #

    I was really about to post for the same suggestion. As it is right now it is very complicated to get things going like Achievements at "25, 50, 100 forum replies" or topics or whatever. I'm struggling to imagine how to use it the way it's built right now.

    I think it would be a massive improvement if this could be implemented somehow.

  6. mikebronner
    Member
    Posted 1 year ago #

    Was just thinking that perhaps a simple way to get this functionality in place for the time being is to add some postmeta info as to how many times it has been awarded, instead of creating multiple progress posts. Using that key we can multiply the karma of the achievement, and all we would have to do is add a counter field next to the list of achievements on the user profile admin page.

    This could allow for time for proper architecting of maybe really adding multiple progress posts for version 4?

    Paul, do you forsee any complications this would present?

  7. Paul Gibbs
    BuddyPress Lead Developer
    Plugin Author

    Posted 1 year ago #

    A user's total karma is given as a one-time total; it's not dynamically calculated.

    Event achievements would need some work as the "how many times has this event happened already" count is stored in the Progress post. This is perhaps the only concern I have with this, so if we can think up a solution or re-architecture how the event count works without breaking backwards compatibility...

  8. mikebronner
    Member
    Posted 11 months ago #

    Hi Paul, been having more thoughts on this, as this is something that I will need in the coming months. One thought at the moment is adding it as meta-data, and dealing with the functionality where it checks if this event already occurred or not. If it did occur, then it the meta-data will be updated to reflect the number of times the achievement was awarded, as well as increase karma points accordingly. This could perhaps be enabled by a toggle on the achievement admin page to determine if that particular achievement can be awarded multiple, or up to a certain amount of times.

  9. Paul Gibbs
    BuddyPress Lead Developer
    Plugin Author

    Posted 11 months ago #

    Something like that, yep.

  10. tmartin69
    Member
    Posted 9 months ago #

    I was having the same issue. My case is that I would like to use the plugin to encourage users to invite friends to the site -- from the invite anyone plugin. My users would earn & accumulate points for each user they invited. But when I tested this, I was only awarded for the first user I invited.

    Any thoughts on incorporating this into the plugin? Seems odd to incorporate the invite anyone functionality but then limit the awards/achievements.

    Thanks.

    Ted

  11. Paul Gibbs
    BuddyPress Lead Developer
    Plugin Author

    Posted 9 months ago #

    My views on this haven't changed from my last updates here :)

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic