Our members often receive discounts in our community as a benefit to their membership. Is there a way to pull their membership data into an online membership card or something? I am just thinking like an image that pulls member's name, membership level, current standing, and member since date. Then member could either save it to their phone or print it out.
I have implemented membership cards, however on a custom basis. This has been from the back office side of things.
Your specification of a member printing their own card is intriguing, though that too would be a bit of custom code.
Regardless of who prints it, CiviCRM has nice abilities to generate PDF's from custom code so pretty much whatever format you want is possible. These days PDF's can even generally be sent to actual ID Card printers (ala the plastic cards). I am working on one such project now.
As a potential way around the custom formatting... you might be able to define a printed label in the standard CiviCRM that mirrors the badge you would like and you might be able to use that to print badges (though likely just from the back end).
Apologies. This is a Drupal answer and I know you are on Wordpress, but this ticket might attract drupal users too so thought I would outline the approach. There is a View you can download here which provides the logged in user a block with their Membership status etc, and this could be modified to include other fields including image. Using the Print module, or Views PDF this could then have a download option for the user to 'take it away'.
If you want an online membership card, then you could email it to them. You cannot use the receipt message from sign up as that is text only, but if you do a mailing template you can make a nice design with HTML and you can include the membership fields (as long as you find the records through a membership search). I think you might need the Fuzion tokens extension - can't remember now precisely what I needed it for.