Beka Rice published an article for SellwithWP where she compiled statistics about eCommerce plugin use for WordPress powered sites. Not surprisingly, WooCommerce takes the lead with a 78.4% market share for the 505,409 sites cataloged by BuiltWith.
When I build an eCommerce site these days, my go to plugin is WooCommerce. It's highly customizable and can be tailored to meet my clients' requirements. There are a few older sites I maintain that use the WP eStore plugin from Tips and Tricks HQ. WP eStore owns a 2.6% market share, but if you take WooCommerce out of the mix, the percentage soars to 12%. Even with these numbers, it ranks in fourth place after WooCommerce, WP eCommerce, and Easy Digital Downloads respectively.
One site that I maintain that uses WP eStore is the North Carolina Executive Roundtable. The North Carolina Executive Roundtable is a professional association of senior-level executives. Membership is by invitation only. To become a member, a candidate is sponsored by an existing member and the candidate must possess certain qualifications that are vetted by the membership committee. Once a candidate is approved, a user ID and password to the membership area are issued and the new member pays their initiation fee and first year's dues online. The dues are supposed to be prorated based on the month the new member joins.
Membership fee proration has been an ongoing issue that has needed to be addressed. Wp eStore does not provide a method to calculate prorated amounts. Our choices have been limited. We could either provide a "product" for each month of the year creating a situation where a new member would have to choose from one of twelve options, or we could drop the online payment altogether and let the membership committee issue a prorated bill. Neither of these choices is appealing.
The code below, when inserted into the product page, will prorate an amount based on the month of the year. The prorated amount is passed on to PayPal so the billing remains accurate. The NCER system is built atop the Genesis Framwork. As such, the site also uses the Genesis Simple Hooks plugin, which allows you to insert code (HTML, Shortcodes, and PHP), and attach it to any of the 50+ action hooks throughout the Genesis Theme Framework from StudioPress.
The code works by first testing the id of the page being loaded. If the page id matches the id of the page where the product is listed, the jQuery script is inserted into the page footer area. After retrieving the current date and setting up the variables, the code simply applies a new price to the necessary fields on the page. The last three lines of jQuery code apply the new price to the text display and two hidden fields that pass the amount to PayPal.