WooCommerce supports a long list of shortcodes that you can find here. This post covers only WooCommerce products shortcodes, which are the ones that display products only. Let’s go over them step by step.
Quick shortcodes to display your products
Display all products
If you want to display all products on your store, simply use this shortcode:
To display all on-sale products, use this shortcode:
Display all best selling products
To display best selling products, you can use this shortcode:
Customize the display of products with attributes
Now you know all the important shortcodes to display WooCommerce products. However, what if you want to specify how many products per line, per page…? This is where attributes come into play.
Specify how many products per row with columns
If I want to display three products per row, I’ll use this shortcode:
And sure enough, I have a page with all of my products, 3 items on every rows:
I only write the shortcode with products, however, the same logic can be applied to all the shortcodes above (featured_products, sale_products…)
Limit number of products to display with limit
If your store has many products, it’s wise to limit the number of products to display with the limit attribute.
For example, the following shortcode limit only 9 products to display:
Of course, you can combine multiple attributes together to achieve more complex display. The following shortcode display 10 products, 5 per line:
Products pagination with paginate
In case you have multiple products and you want to display them in multiple pages, the paginate attribute is what you need. You also need to set how many products you want to display PER PAGE with the limit attribute.
For example, the following shortcode display all products in multiple pages, 4 products per row, 12 products per page:
Display products from specific categories
There are times you don’t want to display all products. Instead, you only need products from specific categories. In this case, you can specify the list of category slugs in your shortcode:
In this example, I want to list products from 3 categories which have their slug as hdd, ram, ssd accordingly.
How can you find product categories’ slugs? Simply go to Products->Category and look for the slug field of the categories you want:
Set products’ order by order and orderby
By default, WooCommerce display products order by their title. However, you can change this behavior by using order, and orderby attributes.
The available value for orderby are:
date – The date the product was published. id – The post ID of the product. menu_order – The Menu Order, if set (lower numbers display first). This can be set for each product in product data tab popularity – The number of purchases. rand – Randomly order the products on page load (may not work with sites that use caching, as it could save a specific order). rating – The average product rating. title – The product title. This is the default orderby mode.
There are only two available value for order:
ASC: ascending, products that have lower value (as specified by orderby) come first
DESC: opposite of ASC
For example, I want to display all products, order by rating in descending order, I would use this:
Conclusion
As you can see, shortcodes can be very powerful if you them correctly. The list above is not exhaustive. If you have suggestion or request, please let me know.
So you’ve decided to use WooCommerce to power your store, great! You got it installed, created your first product and clicked on the product link with excitement. However, all you see is this:
Where is the add to cart button? You wonder. How can someone buy your product without that button?
Don’t panic! This issue is quite popular and quite simple to fix too. Let’s find out why your add to cart button is not showing and how can you fix.
Why your add to cart button is not showing
The reason why you don’t see the add to cart button on your product page is because your theme doesn’t support WooCommerce. It sounds strange to you but not all themes out there support WooCommerce.
When you started your site, you might not expect to sell anything. For example, you started a blog to write about your favorite topics. Your intention was to share the idea. You didn’t anticipate one day you’ll sell a book on your site.
And that’s normal. Our lives are filled with surprises.
So, what can you do about this? Let’s discuss the solutions.
How to get the add to cart button to show up on your WooCommerce product page
There are two solutions for this problem. As the cause is your theme lack WooCommerce’s support, you may see the first solution is to change to one that supports WooCommerce. That’s the best solution, if you can afford it.
Changing theme for your site is easy when you haven’t done much customization based on your current theme. However, if you have built a child theme to extend your current theme’s functionalities, changing it to something else can be very expensive.
Even when you don’t have many attachments with the current theme, finding a new theme can take days.
So, in case you can’t change or don’t want to change your current theme, read on.
Fix add to cart button not showing by customize your theme file
You are about to enter some code but don’t worry, it’s very simple. Let’s go to Appearance->Theme Editor. You may see a dialog says be careful. Click on I understand and proceed.
Now, look at the right side. You’ll see something similar to this (chances are you are using a different theme so the list of the files are not identical):
Pay attention to these two files:
single.php
index.php
If you see single.php, click on that. Otherwise, click on index.php
Since my theme has single.php file, I click on that. Yours could be different. However, it should contain the line starts with get_template_part as I highlighted in the screenshot below:
now copy that line and replace it with the following code:
if ( is_singular( 'product' ) ) {
wc_get_template_part( 'content', 'single-product' );
} else {
//paste the line you copied here (replace the whole line, including //)
}
Make sure you replace your own line (the one you copied) to the second block.
Finally, save the file. Let’s check out my product again.
As you can see, the add to cart button appears. I also have the PayPal button appears since I installed PayPal gateway plugin.
Conclusion
As you can see, it is quite simple to fix add to cart button not showing up on your product page. However, even when it is fixed, the product page’s appearance may not be what you like. In that case, you may need to hire someone to customize that page for you. Any decent WordPress developers would be able to do that for you.
If you are serious about your WooCommerce store then the emails sending function is very important. Most of the time, you send emails to your customers following their purchases, their contact form submissions. You may also send emails contain coupons to your customers on their birthday. You also need to get emails regarding your store status. None of those things happen if you have WooCommerce not sending emails problem.
The prevalent of emails problems in WooCommerce (and WordPress)
By default, WooCommerce uses the wp_mail function of WordPress to process its emails. wp_mail in turn based on the mail function of PHP (the programming language that made WordPress). Without proper configurations, the mail function rarely works. On the occasions it does, most of your emails will go to spam folder. In fact, most sites use default mail settings, which make the mail sending success rate pretty low.
How to fix WooCommerce not sending emails
As you can see, WooCommerce has nothing to do with deliverability of its emails since it utilizes the function from WordPress. So, the right question to ask is how to fix WordPress not sending emails.
Fortunately, the fix is quite simple.
Let’s get started.
Step 1: Get a free email (gmail, mail.ru…)
The first step is to register an email. The reason is we are going to use the mail server of those email providers (gmail, mail.ru) to send our emails, not our host’s server. Using those email providers’ servers increases email deliverability (the success rate of sending email) greatly.
Step 2: Get the STMP configuration of your email
The configurations depend on the email service you use. For example, Gmail SMTP settings would be:
Now, you got the configurations. Let’s move to the next step:
Step 3: Install Easy WP SMTP plugin
Our next step would be installing Easy WP SMTP plugin (click on the link to download or you can install from your dashboard). It’s a plugin that let you specify the SMTP settings then wp_mail will use the mail server you put in this plugin to send email instead of your website’s host.
Now you have the plugin installed and activated, click on the settings link under its name:
You’ll see the page where you put all the details as below:
As you can see that, I use an account from mail.ru. However, with other email providers, you can enter the same details except these fields:
From email address: that’s your email address
From name: this is what your customers see in the sender name of your email. So, pick something that represents your store
Reply to email address: When the recipients hit the reply button, which email will receive that reply. This could be a different email, maybe your dedicated email to handle supports
SMTP host: the smtp server you got from Step 2 above
SMTP user name: your email
SMTP password: your email’s password (or app password in case of Gmail)
Now, with all the info entered, click on save changes.
Step 4: Test your email settings
The final step would be testing if the configuration works. Still in Easy WP SMTP, click on test email.
Enter a valid recipient in the To field and some dummy text in subject and message field then click on Send test email. If your setup is correct, you’ll see the email goes through:
As you can see, I got the test email in my other account.
Conclusion
Emails are still very important for any ecommerce store. In fact, it’s the main channel to communicate with your customers. If your WooCommerce store fails to send emails, that’s a big problem. Hopefully, the tutorial I made it this post can help you fix WooCommerce not sending emails problem. Notice that free email services have their limits on how many emails you can send per day (500 in the case of Gmail). If you go pass that limit, exceeding emails will not be sent. In that case, you may want to use a dedicated email service such as Amazon SES or Sendgrid to deliver your emails.
There are many ways to reward your customers. One of the most common methods is to offer coupons. However, the problem with coupons is the customers need to remember the code. There is a better way to reward your customers. That is to use WooCommerce store credit. This post will show you how you can create store credit in WooCommerce for one or many customers so they can use the discounts on your store without remembering the coupon code.
Get WooCommerce Smart Coupons Plugin
WooCommerce by default doesn’t support store credits. To use this feature, you need to install an external plugin called WooCommerce Smart Coupons.
Send WooCommerce store credits to customers by email
Now you have WooCommerce smart coupons installed and activated. Let’s go to WooCommerce->Coupons:
If you visited WooCommerce’s default coupons screen before, you’ll notice there are many differences. However, our focus in this post is WooCommerce store credit. Let’s click on “Send store credit” tab.
As you can see that, the interface is quite simple. You need to first, specify the list of emails of the recipients. If you have more than one email, then separate them with commas. Next, you enter an amount that you want to give to the customers as credit. Then, finally, you can enter some messages to the customers.
After that, you hit send. This is what the customers receive:
Now, you can see that the email owner has got a coupon code. If the emails you entered are from store’s customers (they already registered on your store), then that person can login and use the WooCommerce store credit without remembering the coupon code. Otherwise, she will need to copy that coupon. Sounds confusing? Let me demonstrate.
Apply WooCommerce store credits on checkout
The email I sent to above is from a registered customer. Now, if he login in to the store and add items to cart, nothing happens. However, on the cart page, the customer will see this:
If I click on the coupon, the discount will be applied instantly:
Now, if the customer decides not to use the credit but give it to someone else, she can just send the coupon code to that lucky person. In this case, that lucky person needs to enter the coupon code on cart page to get the discount:
After clicking on Apply coupon, you’ll see the discount applied:
Now, it works just like a coupon.
Conclusion
As you can see, store credit is basically a coupon. However, it offers more flexibility to you as store owner. You can create and send credits to many users at once. If the customers are registered, they don’t need to enter the coupon code and just like coupon codes, they can give it to other people to shop on your store. Make sure you get WooCommerce smart coupons plugin here first.
By default, WooCommerce products have fixed price. That means if you want to change the price of a particular product, you need to login and edit the product price. This is where the idea of WooCommerce dynamic product pricing came from. With dynamic pricing, you can set rules so you can offer some flexible pricing structure to your product. Take these cases for example:
You want to encourage your customers to buy more products from your store. For example, if the customer buy one product A they will get another item for free (it doesn’t need to be buy one get one, you can set the rule to buy X get Y and they don’t have to be the same products. For example, you want to create a promotion program that if a customer buy a jacket, they will get a belt for free or 50% discount).
You want to reward customers with large purchase. If they order more than $200 (but less that $300), you’ll give then 10% discount. If they order more than $300, you’ll give them 20% discount.. and so on.
You have variable products and only want to offer discount on a particular variation.
Give the customer discount based on number of product they purchase. For example, buy 10 get 10% discounts, buy 30 get 15% discounts…
Let’s discuss each case and find out you can achieve that with WooCommerce dynamic pricing.
Get WooCommerce dynamic product pricing plugin
To follow along, you need to have WooCommerce dynamic product pricing plugin from WooCommerce.com. You can get it following this link.
Now, let’s go through each case and find out how to do that.
Case one: The classic buy one get one (BOGO)
As the name suggests, you want to give the customers a reward for purchasing a particular product. For example, I have an electronic store that sell smartphones and smartwatches. I want to create a rule that:
If the customers purchase two phones, I’ll give a smartwatch for free.
You can apply this rule to create many kind of creative incentive to encourage your customers to buy more from your store. Here are some examples:
Buy one (any number here) shirt, get 50% off socks
Buy 2 items, the next item is free…
OK, let’s get back to our example. Here is the list of all products on my store:
As you can see, I have one smartphone and three smartwatches. In this example, the rule I’m going to create says: For customers who buy 2 ZTE phones, I’ll give one IYOU smartwatch for free.
Now, let’s go and edit the IYOU watch. Let’s scroll down to the product data section, you’ll see there is a new tab called Dynamic Pricing. Click on that at set the options as following:
Here is the quick explanation of each fields in the picture:
Applies to: This rule applies to everyone. There are two more options, which are Guest and Specific Role. That means you can apply this rule to customers with specific role only. It’s a good option to create a reward to specific group of customers.
Quantity based on: This is the base to calculate the discount. As the rule I mentioned above said: “buy two smartphones will get one smartwatch for free” so count the quantity based on Category and the field #3, I set the category to smartphone.
Product/Variation: You can select to give a specific variation of this product as a reward (if the current product is a variable product).
Rule process mode: There are two modes: Bulk and Special Offer. For buy X get Y free, we are going to use Special Offer.
Date: You can specify the date range that this offer is valid.
Finally, the rule. As you can see, I set the purchase number to 2, the receive number to 1, percentage discount to 100. That means if the customers buy two products from the category I specified in field #3, they will get one product (the one that we are editing) with 100% discount. The repeating is currently set to No. If it is set to yes, that means the customers can buy 4 smartphones and get 2 smartwatches, 6 smartphones and get 3 smartwatches and so on
Now, let’s save the product and make a test purchase of two smartphones and one smartwatch (the IYOU). Sure enough, when go to cart, I see this:
As you can see, the watch has a 100% discount.
Case two: Offer discount based on cart amount
Now, there is a new scenario. You want to reward customers with large purchases and also encourage them to purchase large quantity. Here is the discount structure based on cart amount:
Order amount
$100 to $200
$200 to $400
More than $400
Discount amount
10%
20%
25%
Now, let’s get this setup. Under WooCommerce, go to Dynamic pricing:
You can see that there are three tabs. We focus on the first tab in this case, which is Order totals.
So, let’s click on Add pricing group button and setup the rules:
As you can see, the rules are quite straightforward. We create the rule based cart total, applied to everyone and have no specific start and end date. In the table at the bottom, there are something you need to pay attention to:
WooCommerce’s precision is up to cent. That’s why I need to enter 200.01, 400.001. If I entered 201 or 401, if someone buy more than 200 but less than 201, they will not have any discount (same goes with the case of 400 and 401)
In the third rule, as I mentioned at the beginning of this case, we apply a 25% discount on orders > $400. In the max order total, I entered the * (shift + 8) symbol. This is required by the plugin if you don’t have the limit.
You can enter as many rules as you want, simply click on the (+) icon on the right to add more row.
Now, let’s save the rule and make a test purchase.
10% discount on order more than 100 but less than 200
20% discount on order more than 200 and less than 400
25% discount on order more than 400
Case 3: Offer dynamic pricing on bulk order
There is a another way to reward your customers is to give discount on large items purchase. For example, you want to implement this discount structure:
Amount purchase
10 to 20 items
21 to 30
31 and more
Amount discount
discount $5 per item
discount $15 per item
discount $20 per item
Let’s take my store for example and I want to apply this structure on the ZTE phone. So, I edit the product and go to Product Data -> Dynamic Pricing and add rules like this:
As you can see, this discount is for everyone, based on this product’s quantity (not based on products from other categories as in the first example) and the Rule processing mode in Bulk (instead of Special offer).
I think you have no problem understanding the table at the bottom. Now, save the product and make some test purchases:
No discount for quantity less than 10:
If the purchase is more than 10 items, a 5 discount is applied to all products:
For order from 21 to 30, customer gets a $15 discount on each product:
Finally, if the customers buy more than 30 items, they will get a 20 discount on each product:
You can easily change the discount type to percentage instead of a fix amount. In addition to these two option, you can also set the product price to an amount. For example, when the customer purchase 10 items, the price is $100, when they purchase 100 items, you may set the price to $50. This is just an example to show you how flexible WooCommerce dynamic product pricing is.
Conclusion
As you can see, with WooCommerce dynamic product pricing, you can create some great offer for your customers to encourage them to buy more products. At the same time, the customers are rewarded for their purchases. It is a win-win situation and any store can apply this to increase more sales and customers’ loyalty. You can get WooCommerce dynamic pricing plugin here to get started.
Are you a dev? Checkout programming tutorials here: datmt.com
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.