One Account Page for Give Donations & WooCommerce… to Rule Them All!

Jacob Stimpson

Verify

The Give plugin from WordImpress is an excellent plugin for accepting donations on a website. In fact, from what I understand, it was created in-part as an answer to the complicated mess that comes from trying to accept donations via WooCommerce. Since WooCommerce is an estore plugin, it doesn’t do donations very well. But what if you want both? Our client, LeadingLDS is a non-profit organization that needed to accept donations, and sell it’s products on it’s website.

While I’d love to see some kind of “bridge” plugin that will allow people to add a Give-based donation (or setup a recurring donation) to their WooCommerce shopping cart, there isn’t anything like that currently that I could find. So without that tighter integration, we wanted to see if we could make the 2 play more nicely than either one’s default setup allows. The main problem we saw is that someone who both donates (via Give) and purchases from the estore (via WooCommerce) shouldn’t have to have 2 separate places to go to manage their account info, see purchases, view donations, manage recurring donations, etc.

If you’re a visual learner, watch the video of how to do this next. Otherwise, skip down and continue reading after the video.

Combining Give Account Pages

The first thing I did was combine Give’s donation history and recurring donations pages if you’re using the Recurring Donations premium add-on. If you’re not, skip to the next section. This is easy. Just put both shortcodes in the same page:

[give_subscriptions] [donation_history]

Then I went to Donations>Settings>General and set “Donation History Page” to the page I put both shortcodes in. Next, I did the same thing on Donations>Settings>Recurring Donations under “Subscriptions Page”. Finally, I deleted the extra page.

Adding WooCommerce My Account Page

But then I was looking at the WooCommerce “My Account” page, and thought “why not have all this in one place? So I took the 2 shortcodes above and added them to the “My Account” page like this:

[[woocommerce_my_account]]
[give_subscriptions]
[donation_history]

Now I just repeated the steps at the end of the previous section, but changed those 2 settings in Give, to point to the “My Account” page. Boom! One page to rule them all! Now donors and customers could go to a single page to manage their WooCommerce info, as well as their Give donations and subscriptions.

Give settings woocommerce my account

Making it Nicer With Divi

Of course, I couldn’t stop there. Since we used the Divi theme on this site, I had to make it even better. So I used the Divi builder to lay out the page like this:

Give wp donation woocommerce account divi page builder

And viola! A great-looking, everything in 1 place account page:

Woocommerce my account give donations page

The Catch

There’s always a catch, right? The catch here is that WordImpress hadn’t considered that people might put both the recurring donations and donations history shortcodes in the same place. It seems like a really obvious approach to me, and maybe they had considered it, just haven’t bothered to make them play nice. So there’s one little problem with doing this: if someone visits the My Account page while they’re not logged in, they’ll be presented with 2 email forms to retrieve their donations info via email (without an account). It could be confusing to your donors. I’ve contacted Give support about this and they said they’ll look at updating this in the next version of the plugin, so that it detects when there’s 2 on a page, and only loads 1. Here’s hoping that fix comes soon.

Table of Contents

You might also like these blogs and articles

Myth

2 Comments

  1. Edie Etoile

    Thank you! We needed a way to have all of the donation features of Give and the ability to sell fundraising merchandise with all of the features of WooCommerce. Thanks for the analysis and examples. Very helpful!

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to Our Newsletter for Updates

Stay in the loop and receive exclusive offers!

"*" indicates required fields

Name*
Hidden
Privacy*