Selling Courses with WooCommerce Is a Breeze!
Selling Courses with WooCommerce is one of my favorite ways to sell online courses. WooCommerce was one of the first e-commerce plugins for WordPress, introduced in 2011. WooCommerce was immediately a hit within the WordPress community. As you may know, WooCommerce was acquired by Automattic in May of 2015 and is continually being improved.
Selling courses with WooCommerce
WooCommerce currently powers over 30% of online e-commerce sites and boasts over 7 million active installations. It’s no wonder we jumped on board and created an integration for WP Courseware soon after we launched our WordPress LMS plugin. WooCommerce allows you to set up a product, shopping cart, and sell products with one of the many payment gateways they offer. In case you’re wondering, WooCommerce by default does not include “membership” functionality, although this can be accomplished with add-ons. It simply allows you to create and sell products for a one-time fee, similar to Easy Digital Downloads. While many of our WP Courseware users utilize membership plugins for recurring subscriptions to their content, for some of them the model of selling lifetime access to a course at a higher one-time price fits better. This is where e-commerce plugins such as WooCommerce and Easy Digital Downloads become powerful companions to WP Courseware. Today, I want to walk you through the steps required to set up your WordPress site so that you can begin selling courses with WooCommerce. One great thing about WooCommerce is that it is SUPER easy to set up.
The prerequisites
Be sure that you have the following installed, activated, and ready to go.
- Latest version of WordPress (free)
- WP Courseware
- WooCommerce (free)
- WooCommerce addon for WP Courseware (free)
Setup WooCommerce
To start, WooCommerce has a very slick user interface for onboarding!
- Install and activate WooCommerce
- Upon activation you will then immediately be redirected to the super cool onboarding wizard. Fill out the information for your Store Setup and click Let’s Go.
- Once completed you can enable a Payment Gateway.
- Lastly click Create your first product.
That’s it!
WooCommerce configuration
One thing that must be disabled for student enrollment to work properly is Guest Checkout. To disable guest checkout:
- Click WooCommerce→Settings
- Click the Account & Privacy tab
- Deselect the checkbox next to Allow customers to place orders without an account
Set up a product
- Simply click Products→Add New.
- Give your product a name.
- In the body of the post, simply write a description of the course that will be associated with this product.
- Next, configure the product. For the Product data drop down, choose simple product and check the virtual product checkbox.
- Set a price for your product.
- Next, add a product image. I highly recommend adding an image here. This image will show up on the shop page. If you want to get really fancy, you can add multiple Product Gallery images. These images will display on the product page in a light-box when clicked on.
- Lastly click Publish.
That’s it! I told you this was going to be super easy!
Let’s create a course…
Courses are made up of modules, units, and the optional quiz or survey. For this tutorial we will simply setup a basic course. Before I forget, we have a YouTube playlist that will walk you step-by-step through how to create your first course.
- Click WP Courseware→Courses→Add a Course
- Give your course a Title.
- Add your first module by clicking +Add Module. Insert the module Title and Description and click Add Module.
- Add a unit to the module by clicking +Add Unit. Insert the title for your unit and enter some content into the unit. Click Add Unit.
- You have setup all the components necessary for a course to be published. Obviously you can add more modules and units and even quizzes. Click publish.
Here are some additional items that you can configure within your course settings.
- Admin notification email address
- User notification messages
- Email templates
- Enable certificates
- Add course prerequisites
Connecting the course to the product
- Click WP Courseware→WooCommerce.
- Find your product ID in the list and click Edit Course Access Settings.
- Select your course or courses that you want to associate with the product.
- Click Save Changes.
It’s easier than adding hot sauce to your taco!
Give your students a course outline
There is a Courses endpoint available in the latest version of the WooCommerce addon for WP Courseware. That means that your students will be able to navigate to the My Account page and click on the Courses tab to see an outline for each course they are enrolled into.
Give it a test drive
This assumes you’ve setup a payment gateway like PayPal or Stripe. We recommend testing with PayPal Sandbox or Stripe Test Mode. To be completely transparent, Stripe Test Mode is much easier to configure and test.
- Navigate to your Shop page.
- Find a product and click Add To Cart, then click View Cart.
- Next click Proceed to checkout.
- Complete the order form.
- Click Place Order.
- Now we need to check to ensure that your user account was enrolled into the course. To do so, navigate back to the WordPress admin panel and click WP Courseware→Students. Check to see if your student has a course associated with them. If so, then you’ve successfully engineered your site for selling courses with WooCommerce.
I want to point something out. If you navigate to WooCommerce→Orders, you will find the test transaction you just made. If you see a green circle with three dots inside of it, then you know that the status of the order is Processing. WooCommerce considers the processing status a successful completed transaction, meaning that the the product was successfully paid for. However, it remains in a processing status until it is manually set to completed. This is to allow for handling and processing of any tangible goods associated with the product. There is an easy solution to get around this with WooCommerce.
What about WooCommerce Subscriptions and WooCommerce Memberships?
The WooCommerce addon for WP Courseware not supports both WooCommerce Subscriptions and WooCommerce Memberships right out of the box. Basically if a subscription falls into one of the following statuses, the student will be automatically de-enrolled from their course.
- On Hold
- Expired
- Cancelled
In a like manor if a membership falls into one of the following statuses, the student will be automatically de-enrolled from their course.
- Paused
- Expired
- Cancelled
There is no additional configuration for either of these two integrations.
One last thing to remember
When selling courses with WooCommerce, you do not need to configure the WP Courseware Payments in the course settings because all the WP Courseware shopping cart and payment gateway options are now controlled by WooCommerce. You can’t use both WooCommerce and WP Courseware shopping carts, it’s either one or the other.
Time to start selling courses with WooCommerce!
The only thing left to do is:
- Create more products
- Create more courses
- Associate the products with courses
- Make some $$$!
Do you have any special tips for using WooCommerce to sell WP Courseware courses? Let us know in the comments below!
24 Comments
Leave a Comment
Would you like to test drive WP Courseware for Free?
No credit card required
This is awesome, I plan to install all the “prerequisites” as soon as I can. I’m writing as fast as I can, with videos in the pipeline~ This would be the 2nd iteration of my project, I’ll be testing in the coming months.
Thanks, Dino! Best of luck with your project!
Good overview. Are there videos for these articles available?
Hi Bayo,
Absolutely! You can always find tutorial videos for our integrations, as well as several dozen others, on our YouTube channel:
https://www.youtube.com/user/flyplugins
Hi,
i have the requirement that one purchaser buy for example 10 times the same course for the employee of his company. He need 10 Accounts for each employee – how can i managed this?
Thanks
Wolfram
Hi,
I am selling several online courses and only want students to see the courses that they are enrolled in when they go to the “my courses” page. Is there any way to do this? I don’t want them to see 10 other classes that they aren’t enrolled in every time they log in to study.
Thanks,
Matt Garcia
Hi Matt,
Yes, you can certainly do this by utilizing the “overall user progress” shortcode. Check out this article to see instruction on how to implement the shortcode.
Is this plugin only for online courses. My client offers in-person classes but wants to offer online purchase and register. Will this plugin work?
Hi Teri,
This is a great question. WP Courseware is definitely for online courses. There are great event plugins like EventEspresso that might work for scheduling, registering, selling and hosting offline courses.
We are using Event Espresso now; there are quite a few “holes” in the system. If you know of any others I am glad to look into them.
Teri,
We are using The Events Calendar and Event Tickets Plus for the scenario you describe — online registration for in-person classes.
This looks great but I wish you had of shown how the courses look in the video above.
Thanks for a post
Hi, thank you for your tutorial.
I am stuck at the start, when you suggest unchecking ‘allow customers to place orders without an account’
I also have an online store on my website and don’t customers having to open an account to buy a (physical) product.
How can I work around this?
I have purchased wp courseware, WC subscriptions, WP memberships, and am wanting to sell physical products, online membership with course material as well as one-off online courses.
Apologies if answer is there already, I’m not very techy 😊
Regards
Sharen
Hi Sharen,
Unfortunately you can’t use guest checkout. An account is required to track student progress, grade student quizzes, enroll students into other courses etc…There is no way to have a an online course with tracking capability and not register the individual on the WordPress site.
I Find LMS plugins really helpful in creating the courses. I have one question. where to host your videos when you have tight budget? Vimeo?
I recommend AWS S3 cloud storage. Their rates are very competitive. I like that you only pay for what you use, which is especially important when you are on a budget.
Hey, Ben! This blog is amazing, I’m going to go through and read all of your posts. 😍 You’re doing a great job! Another fantastic article that is well laid out. – Jessica
Hi,
i can use also a variable product subscription?
Hi there,
Yes and no. You can use variable product subscription, however, the course will apply to the parent subscription. You can’t created multiple options for various courses with in the variable subscription.
thanks! this is the exact setup I have but I want to start breaking down my course into a subscription-style and have certain content be blocked until they renew for the 2nd month, 3rd month, and so on.
What’s the best plugin to use for that?
Hi Aayah, You can use the drip function that comes with WP Courseware. You can drip out content by calendar date or by time interval from when the student was enrolled into the course. Aside from that, I don’t know of any other solutions to make additional content available based upon renewal.
Hi Ben,
I need to juggle between WP Courseware, Woocommerce and Event Tickets (https://theeventscalendar.com/products/wordpress-event-tickets/). It will happen, I’ll need to sell tickets to provide access to online seminars I’d like to give with Courseware. How can I link a ticket sell with a course?
Hi Christophe,
I’m not really familiar with the event ticket plugin, however, assuming that tickets are associated with WooCommerce products, then you can use the WP Courseware/WooCommerce integration. If you aren’t selling products, then there currently isn’t any integration directly with the event tickets plugin.