Woocommerce Plugins
- With WooCommerce plugins, you can expand the functionality of your ecommerce store. Before choosing a plugin, first determine which features are missing from your WooCommerce store, and what you need to incorporate in order to improve business performance. Then, find the plugin that offers the best features that you need.
- Extensions Store Grow your business with hundreds of free and paid WooCommerce extensions across all your logistical, technical, and marketing needs.
WooCommerce is the plugin that powers the e-commerce functionality of a WordPress site. This piece of software powers about 28% of online stores on the web. It is the most popular online store builder.
The plugin comes inbuilt with inventory manager, tax, and financial report. It also comes with payment and shipping integration.
WooCommerce is one of the best and most popular e-commerce software in the market. This plugin is managed by Automattic, the same company that created WordPress.
However, for a WooCommerce site to work at its peak, it requires the installation of other plugins. These plugins extend the functionalities of the site. There are a couple of plugins and extensions you can add to your WordPress site. These plugins vary in functions and usage.
Booster for WooCommerce is a feature-rich plugin that can help you take your ecommerce store global. This plugin adds all world currencies to your WooCommerce site so you can change the default currency symbol as needed. It also adds currency exchange rates automatically so you can sell to buyers all over the world. The plugin is compatible with many popular plugins including WooCommerce Subscriptions and Catalog Mode, making it one of the best WooCommerce product plugin in the marketplace. KEY FEATURES Supports checkboxes, radio buttons, select boxes, text-areas, input boxes, upload, date, range picker and color picker. 10 Best WooCommerce Buy One Get One Free Plugins 2021. Share on Facebook. Tweet on Twitter.
What is WooCommerce?
WooCommerce is an open-source WordPress plugin that converts a WordPress site to a full-fledged e-commerce store.
It is a free WordPress plugin that users can install on their website to make it a fully functional e-commerce platform. It is the most popular eCommerce store building platform and one of the biggest eCommerce builders.
Why is WooCommerce Plugin & Extensions Necessary for Online Stores?
There are so many reasons to consider WooCommerce as your preferred e-commerce store builder. It is flexible, easy to use, cheap, also one of the best e-commerce management software. Here are some reasons why you should choose WooCommerce as your preferred online store builder.
WooCommerce is free: WooCommerce is open-source software. Unlike its other counterparts, WooCommerce doesn’t cost a penny.
Easy to Use: It is easy to use and user-friendly. WooCommerce was built while keeping the beginners in mind. Its interface is very interactive which makes it very easy to use.
One-Click Install: WooCommerce does not require any form of technical knowledge. With the WooCommerce Setup Wizard, users can install and activate the WooCommerce plugin from their dashboard. To use the plugin, you do not require any special skills or some technical know-how. Just search for the plugin, click, install and activate.
The Most Popular E-commerce Builder: WooCommerce is the most popular e-commerce builder with Over 5 million active users worldwide. WooCommerce accounts for over 28 percent of e-commerce stores around the world.
Safe and Secure: WooCommerce is safe and secure. The plugin is constantly upgraded from time to time to ensure it is secure and error-free. Also, it has active contributors from all over the world.
Developed by the WordPress team: If you trust WordPress, then you’ve got to trust WooCommerce. The WooCommerce plugin was developed by the WordPress team.
Easy to Set Up: WooCommerce is easy to set up. It doesn’t require any special website design skills or knowledge. Rather all you need is a simple knowledge of the web, and you can easily install and set it up on your existing WordPress website.
Setting up a WooCommerce store takes less than 5 minutes.
Customizable: WooCommerce is fully customizable. You can customize it to your taste. It offers a different level of customization from the frontend interface to the backend. This customization does not in any way interfere with the efficiency of the website.
Special Features: WooCommerce comes inbuilt with features that allow you to set up some necessary and exceptional functionalities. It also allows you to set up shipping, inventory management, tax etc.
All in One E-commerce Platform: It is an all-in-one eCommerce platform that allows you to set up your e-commerce store from start to finish. With WordPress WooCommerce, you can set up any form of e-commerce store.
Super Fast: WooCommerce is super fast, it was built with speed in mind. Speed means more conversion and more sales.
SEO Friendly: It is also Search Engine Optimisation (SEO) friendly. WooCommerce also supports integration with other SEO plugins.
Why WooCommerce Plugin is necessary for online stores?
WooCommerce can work as a standalone plugin, you can however extend its functionalities by installing other plugins and extensions. For optimal performance, you can integrate other Plugins to expand the functionalities of your e-commerce store. Some of these plugins come at no cost while others are premium plugins. Listed below are some of the best WooCommerce plugins for your online store.
Best WooCommerce Plugins & Extensions for Online Stores in 2021
These are some of the best WooCommerce plugins and extensions for your online store in 2021.
1. Dokan:
Dokan is one of the best WordPress multi-vendor online marketplace plugins. This intuitive plugin will convert your website from an online store into a multivendor online marketplace.
With Dokan you can extend the functionalities of your e-commerce store. You can allow other vendors to sell on your site. Dokan has over 60,000 users in different countries across the globe. With the Dokan extension, multiple users can sign up, sell and manage their products on your site. Dokan allows unlimited products and product variations. It can be used for both digital and physical products.
It also comes inbuilt with personalized shipping for all vendors. Also, it offers tax management, coupon management, product, and vendor rating, etc Dokan comes with a free eCommerce theme to get you going.
2. WooCommerce Product Add-on:
This is another important plugin for WordPress which allows you to add custom fields to your online store. This premium customization plugin gives a better user experience. With the WooCommerce Product Add-on, customers can be detailed on their order before check out. Eg products color, special attributes, shape, sizes, etc.
3. WooWalltet (now named Terra Wallet):
Terra Wallet is another important WordPress plugin for your WooCommerce store. This plugin allows WordPress users to store money in a digital wallet which they can use to make purchases online. With Terra wallet installed users would not have to fill in payment details every time they are trying to make purchases. It saves customers the stress of filling in payment details every time.
4. WooCommerce Subscription:
This WordPress WooCcommerce subscription plugin allows you to create, manage subscription-based products or services. It is a premium plugin that comes at $199 a year. With WooCommerce Subscriptions, you can create weekly or monthly based subscriptions. WooCommerce Subscription also allows you can set up automatic billing, signup fees, set free trials for a duration etc. This is often useful for products and services that require recurring payments.
5. Facebook for WooCommerce:
Facebook for WooCommerce is the official Facebook plugin for WooCommerce. The plugin allows you to integrate Facebook into your WordPress site. The plugin also allows you to easily install the Facebook pixels on your site. With Facebook for WooCommerce installed on your site, you can also convert your Facebook into a mini-store. It lets you create a replica of your website inventory on your Facebook page.
6. Mailchimp for WooCommerce:
Mailchimp for WooCommerce is a free WordPress plugin that lets you integrate Mailchimp into your WooCommerce store. With MailChimp for WordPress, you can send targeted messages to users based on specific actions. Mailchimp is the world’s largest email automation service provider.
It has over 17 million users from all around the world. Mailchimp for WordPress automatically integrate your WordPress customer data into the Mailchimp database. This makes it easy to send targeted and automated messages to clients based on specific actions. You can also send scheduled messages, track messages, view reports and automate all your communications with your customers.
7. Variation Swatches for WooCommerce:
The variation Swatches for WooCommerce allows you to create special attributes for different products variation. You can create option fields and labels that do not come default on WordPress. variation Swatches for WooCommerce lets you create product variations such as colors, images, etc. You can also customize the product page for a better user experience.
8. ReviewX – Multi-criteria Rating & Reviews for WooCommerce:
ReviewX offers multi-criteria reviews and ratings for products and services. It allows ratings and instant reviews. It also sends automated reminders to customers that purchased a product or service and yet to leave a review. Also, it allows customers to upload personal pictures in their reviews.
9. WooCommerce Multilingual:
The WooCommerce multilingual plugin automatically translates the language to the users’ primary language. This plugin allows you to create a multilingual e-commerce store without creating multiple stores.
WooCommerce multilingual does the language seamlessly based on the users’ location. It also automatically sends messages to Customers in their primary language. It can also display specific payment gateways based on a user’s location. It also allows you to set multiple currencies. The WooCommerce multilingual allows you to run a single online store with multiple languages and currencies.
10. Order Delivery Date for WooCommerce:
The Order Delivery for WooCommerce is a plugin that allows you to set delivery day during checkout. This plugin lets customers choose their preferred delivery date and time. Public holidays that you do not deliver can be blocked out, you can them as public holidays on the admin dashboard. It also allows you to block out weekends if you do not deliver on weekends. You can also set the maximum time for delivery and also limit the number of deliveries in a day.
11. WooCommerce Social Login:
The WooCommerce Social Login offers a seamless social media login integration. With the Social login, customers can log in through their social media accounts. It works for most of the social media platforms which include Twitter, Google Plus, Facebook, Linkedin, Disqus, Yahoo, VK, etc It breaks the barrier of customers having to create an account when shopping on your site. WooCommerce Social Login syncs your account with the site and automatically creates an account for you. When you are not on social media, you can still log in with your social media details.
Conclusion
In conclusion, WooCommerce provides an amazing e-commerce shopping experience. It can easily be integrated with other third-party plugins and extensions to extend its functionality.
This has made WooCommerce one of the best platforms for eCommerce. Have you tried any other compatible WooCommerce plugin? Kindly drop a comment below.
Want to create a plugin to extend WooCommerce? WooCommerce plugins are the same as regular WordPress plugins. For more information, visit Writing a plugin.
Your WooCommerce extension should:
- Adhere to all WordPress plugin coding standards, as well as best practice guidelines for harmonious existence within WordPress and alongside other WordPress plugins.
- Have a single core purpose and use WooCommerce features as much as possible.
- Not do anything malicious or underhanded — for example, inserting spam links or up selling services outside of the WooCommerce.com ecosystem.
- Not subvert or override Marketplace connections in core — for example, extensions cannot create branded top level menu items or introduce their own telemetry.
Merchants make use of WooCommerce extensions daily, and should have an unified and pleasant experience while doing so without advertising invading their WP Admin or store.
Note: We provide this page as a best practice for developers.
Check if WooCommerce is active ↑ Back to top
Most WooCommerce plugins do not need to run unless WooCommerce is already active. You can wrap your plugin in a check to see if WooCommerce is installed:
Note that this check will fail if the WC plugin folder is named anything other than woocommerce
.
Main file naming ↑ Back to top
The main plugin file should adopt the name of the plugin, e.g., A plugin with the directory name plugin-name
would have its main file named plugin-name.php
.
Text domains ↑ Back to top
Follow guidelines for Internationalization for WordPress Developers, the text domain should match your plugin directory name, e.g., A plugin with a directory name of plugin-name
would have the text domain plugin-name
. Do not use underscores.
Localization ↑ Back to top
All text strings within the plugin code should be in English. This is the WordPress default locale, and English should always be the first language. If your plugin is intended for a specific market (e.g., Spain or Italy), include appropriate translation files for those languages within your plugin package. Learn more at Using Makepot to translate your plugin.
Follow WordPress PHP Guidelines ↑ Back to top
WordPress has a set of guidelines to keep all WordPress code consistent and easy to read. This includes quotes, indentation, brace style, shorthand php tags, yoda conditions, naming conventions, and more. Please review the guidelines.
Code conventions also prevent basic mistakes, as Apple made with iOS 7.0.6.
Custom Database Tables & Data Storage ↑ Back to top
Avoid creating custom database tables. Whenever possible, use WordPress post types, taxonomies, and options.
Consider the permanence of your data. Here’s a quick primer:
- If the data may not always be present (i.e., it expires), use a transient.
- If the data is persistent but not always present, consider using the WP Cache.
- If the data is persistent and always present, consider the
wp_options
table. - If the data type is an entity with
n
units, consider a post type. - If the data is a means or sorting/categorizing an entity, consider a taxonomy.
Logs should be written to a file using the WC_Logger
class.
Prevent Data Leaks ↑ Back to top
Try to prevent direct access data leaks. Add this line of code after the opening PHP tag in each PHP file:
Readme ↑ Back to top
All plugins need a standard WordPress readme.
Your readme might look something like this:
Plugin Author Name ↑ Back to top
Consistency is important to us and our customers. Products offered through WooCommerce.com should provide a consistent experience for all aspects of the product, including finding information on who to contact with queries.
Customers should be able to easily to differentiate a product purchased at WooCommerce.com from a product purchased elsewhere, just by looking through their plugin list in WordPress.
Thus, the following plugin headers should be in place:
- The
Plugin Author
isYourName/YourCompany
- The
Developer
header isYourName/YourCompany
, with theDeveloper URI
field listed ashttp://yourdomain.com/
Best Woocommerce Plugins
For example:
Declaring required and supported WooCommerce version ↑ Back to top
Use the follow headers to declare “required” and “tested up to” versions:
- WC requires at least
- WC tested up to
Plugin URI ↑ Back to top
Ensure that the Plugin URI
line of the above plugin header is provided. This line should contain the URL of the plugin’s product/sale page on WooCommerce.com (if sold by WooCommerce) or to a dedicated page for the plugin on your website.
Woo Plugin Header For Updates ↑ Back to top
WooCommerce core looks for a Woo
line in the plugin header comment, to ensure it can check for updates to your plugin, on WooCommerce.com. This line looks like this:
Woo: 12345:342928dfsfhsf8429842374wdf4234sfd
This is only required for products sold on WooCommerce.com. Using this line for products listed on WordPress.org or elsewhere is not required or necessary.
For products sold on WooCommerce.com, Vendors can find this snippet by logging in to their logging in to the Vendors Dashboard and going to Extensions > All Extensions. Then, selectthe product and click Edit product page. This snippet will be in the upper-right-hand corner of the screen.
See the plugin header comment example above for how the Woo
header looks in context.
Make it Extensible ↑ Back to top
Developers should use WordPress actions and filters to allow for modification/customization without requiring users to touch the plugin’s core code base.
If your plugin creates a front-end output, we recommend to having a templating engine in place so users can create custom template files in their theme’s WooCommerce folder to overwrite the plugin’s template files.
Remove Unused Code ↑ Back to top
With version control, there’s no reason to leave commented-out code; it’s annoying to scroll through and read. Remove it and add it back later if needed.
Comment ↑ Back to top
If you have a function, what does the function do? There should be comments for most if not all functions in your code. Someone/You may want to modify the plugin, and comments are helpful for that. We recommend using PHP Doc Blocks similar to WooCommerce.
Avoid God Objects ↑ Back to top
God Objects are objects that know or do too much. The point of object-oriented programming is to take a large problem and break it into smaller parts. When functions do too much, it’s hard to follow their logic, making bugs harder to fix. Instead of having massive functions, break them down into smaller pieces.
Test Your Code with WP_DEBUG ↑ Back to top
Always develop with WP_DEBUG mode on, so you can see all PHP warnings sent to the screen. This will flag things like making sure a variable is set before checking the value.
Separate Business Logic & Presentation Logic ↑ Back to top
It’s a good practice to separate business logic (i.e., how the plugin works) from presentation logic (i.e., how it looks). Two separate pieces of logic are more easily maintained and swapped if necessary. An example is to have two different classes — one for displaying the end results, and one for the admin settings page.
Use Transients to Store Offsite Information ↑ Back to top
If you provide a service via an API, it’s best to store that information so future queries can be done faster and the load on your service is lessened. WordPress transients can be used to store data for a certain amount of time.
Logging Data ↑ Back to top
You may want to log data that can be useful for debugging purposes. This is great with two conditions:
- Allow any logging as an ‘opt in’.
- Use the WC_Logger class. A user can then view logs on their system status page.
If adding logging to your extension, here’s a snippet for presenting a link to the logs, in a way the extension user can easily make use of.
$label = __( 'Enable Logging', 'your-textdomain-here' ); |
$description = __( 'Enable the logging of errors.', 'your-textdomain-here' ); |
if ( defined( 'WC_LOG_DIR' ) ) { |
$log_url = add_query_arg( 'tab', 'logs', add_query_arg( 'page', 'wc-status', admin_url( 'admin.php' ) ) ); |
$log_key = 'your-plugin-slug-here-' . sanitize_file_name( wp_hash( 'your-plugin-slug-here' ) ) . '-log'; |
$log_url = add_query_arg( 'log_file', $log_key, $log_url ); |
$label .= ' | ' . sprintf( __( '%1$sView Log%2$s', 'your-textdomain-here' ), '<ahref='' . esc_url( $log_url ) . ''>', '</a>' ); |
} |
$form_fields['wc_yourpluginslug_debug'] = array( |
'title' => __( 'Debug Log', 'your-textdomain-here' ), |
'label' => $label, |
'description' => $description, |
'type' => 'checkbox', |
'default' => 'no' |
); |
Error codes ↑ Back to top
This information is intended for the third-party developers so products they write can better handle errors. Error codes are produced by the Product Build Server when uploading a new submission or updating an existing product on the Marketplace.
error_success ↑ Back to top
The operation has completed successfully.
error_pbs_prepare_apache ↑ Back to top
Internal error with the Product Build Server – cannot initialize the Apache daemon.
error_pbs_prepare_mysql ↑ Back to top
Internal error with the Product Build Server – cannot initialize the MySQL daemon.
error_pbs_prepare_wp ↑ Back to top
Internal error with the Product Build Server – cannot initialize WordPress.
error_pbs_prepare_wc ↑ Back to top
Internal error with the Product Build Server – cannot initialize WooCommerce.
error_pbs_prepare_dependencies ↑ Back to top
Internal error with the Product Build Server – cannot configure dependencies.
error_pbs_test_malware_scanning ↑ Back to top
Malware scanning error. This can happen if your product contains malware in the code.
Here’s an example output:
This means that the character at the absolute position 0x406 (1030) and 0x506 (1286) in the file html-settings-page.php
doesn’t pass the $ini_set
rule, because it is using call_user_func
in that file. Also, the other file html-extras-page.php
doesn’t pass the rule $register_function
which is using exec
call.
error_pbs_test_extracting ↑ Back to top
Cannot extract the product. Most common issue is the top directory of the zip does not match its slug.
error_pbs_test_phpcs ↑ Back to top
phpcs
checks failed. The check uses the WooCommerce-Core sniffs with following phpcs.xml
:
<?xml version='1.0'?> |
<rulesetname='WordPress Coding Standards'> |
<description>WooCommerce extension PHP_CodeSniffer ruleset.</description> |
<!– Exclude paths –> |
<exclude-pattern>tests/</exclude-pattern> |
<exclude-pattern>woo-includes/woo-functions.php</exclude-pattern> |
<exclude-pattern>woo-includes/class-wc-dependencies.php</exclude-pattern> |
<exclude-pattern>*/node_modules/*</exclude-pattern> |
<exclude-pattern>*/vendor/*</exclude-pattern> |
<!– Configs –> |
<configname='minimum_supported_wp_version'value='4.7' /> |
<configname='testVersion'value='5.6-' /> |
<!– Rules –> |
<ruleref='WordPress-Extra'> |
<excludename='Generic.Commenting.DocComment.SpacingAfter' /> |
<excludename='Generic.Files.LineEndings.InvalidEOLChar' /> |
<excludename='Generic.Functions.FunctionCallArgumentSpacing.SpaceBeforeComma' /> |
<excludename='PEAR.Functions.FunctionCallSignature' /> |
<excludename='Squiz.Commenting' /> |
<excludename='Squiz.PHP.DisallowSizeFunctionsInLoops.Found' /> |
<excludename='Squiz.WhiteSpace' /> |
<excludename='WordPress.Arrays' /> |
<excludename='WordPress.Files.FileName' /> |
<excludename='WordPress.NamingConventions' /> |
<excludename='WordPress.Security.ValidatedSanitizedInput.MissingUnslash' /> |
<excludename='WordPress.WP.I18n.NonSingularStringLiteralText' /> |
<excludename='WordPress.WhiteSpace' /> |
</rule> |
<ruleref='WooCommerce-Core'> |
<excludename='Core.Commenting.CommentTags.AuthorTag' /> |
<excludename='WordPress.PHP.DontExtract' /> |
<excludename='Generic.Arrays.DisallowShortArraySyntax' /> |
<excludename='Generic.WhiteSpace.ScopeIndent.Incorrect' /> |
</rule> |
<ruleref='PHPCompatibility'> |
<exclude-pattern>tests/</exclude-pattern> |
</rule> |
</ruleset> |
To install locally:
- Go to your product directory.
- Install WooCommerce sniffs with
composer require woocommerce/woocommerce-sniffs
. - Put
phpcs.xml
above in the product directory. - Run
./vendor/bin/phpcs --warning-severity=0 -s --ignore-annotations --extensions=php,html .
.
error_pbs_test_installing ↑ Back to top
Cannot install the product. Most common issue is the top directory of the zip does not match its slug.
error_pbs_test_activating ↑ Back to top
Cannot activate the product. Refer to the build output for more details.
error_pbs_test_deactivating ↑ Back to top
Cannot deactivate the product. Refer to the build output for more details.
error_pbs_test_host_plan_installing ↑ Back to top
This error means that your product is incompatible with other products in the host plan. Refer to the build output for more details.
error_pbs_test_host_plan_activating ↑ Back to top
This error means that your product is incompatible with other products in the host plan. Refer to the build output for more details.
error_pbs_test_host_plan_deactivating ↑ Back to top
This error means that your product is incompatible with other products in the host plan. Refer to the build output for more details.
error_pbs_missing_theme_info_file ↑ Back to top
Your theme is missing the theme info file theme_info.txt
under the root directory.
error_pbs_incomplete_theme_info ↑ Back to top
Your theme info file theme_info.txt
contains malformed data structure. It should contain the product ID, hash and main file, all separated by new lines. For example:
error_pbs_incomplete_theme_header ↑ Back to top
Your theme main file contains malformed data structure. Provide Theme Name
, Version
, and the Woo
headers in your main file.
error_pbs_incomplete_plugin_header ↑ Back to top
Your plugin main file contains malformed data structure. Provide Plugin Name
, Version
, and the Woo
headers in your main file.
error_pbs_invalid_woo_header ↑ Back to top
Your product main file contains an invalid Woo header structure. Use the format ID:HASH
. For example:
error_pbs_invalid_id ↑ Back to top
Your product main file contains an invalid product ID in the Woo header.
error_pbs_invalid_hash ↑ Back to top
Your product main file contains an invalid hash in the Woo header.
error_pbs_missing_main_file ↑ Back to top
Your product is missing the main file.
error_pbs_missing_changelog_file ↑ Back to top
Your product is missing the changelog.txt
file.
error_pbs_product_version_mismatch ↑ Back to top
The version in your product’s main file does not match with the provided version in changelog.txt
.
error_pbs_invalid_changelog_format ↑ Back to top
Woocommerce Plugins Shipping
Your product contains malformed changelog.txt
structure. Refer to changelog.txt as an example.