Add the following shortcode to a page or post to give it an order form:
[order_form_woocommerce]
Without any attributes, it will create an order form based on the settings you saved in the WooCommerce admin. You can refine your order form by adding any of the following attributes (see the example pages).
buttonplacement
Set the location of the subtotal and action buttons. Possible values are:
- bottom
- float-right
- float-left
- float-right-mob-bottom
- float-left-mob-bottom
- sticky-right sticky-left
- sticky-right-slide sticky-left-slide
cat
Show only products from the selected product category. You can use either the product category ID (numeric) or its category name or slug. e.g. for a product category “Books on Toys”, the category slug might be “books-on-toys”.
Separate multiple categories with commas, e.g. “wine,beer,cider”
catmode
Changes how category titles are collated and displayed on the order-form-by-category template, when a product has multiple categories including parents and children; default = “leaves”, accepted values are:
- leaves — only show the children, not their parents
- roots — only show the parents, not their children
- all — show all listed categories
classes
Add CSS classes to order form table, e.g. classes=”my-custom-class another-class”
cleartitle
Change the button title for the Clear Order button.
exclude
Exclude products from the order form by product ID.
Separate multiple product IDs with commas, e.g. exclude=”51,52,53″
gridalignment
Select the alignment of the order form for grid templates. NB: only has an effect when there is a maximum grid row width, or maximum number of cards for cards product layout. Possible values:
- (default — no value given)
- center
- center-align
group_
by Collate the products into groups, allowing them to be separated in the order form. Currently, only categories are supported.
- cat — group by category
- category — group by category
include
Include only selected products on the order form by product ID.
Separate multiple product IDs with commas, e.g. include=”51,52,53″
individual
Show a checkbox for Sold Individually products by setting individual=”checkbox”.
itemcountgrid
Change the item count title for a form with a grid template.
itemtitle
Change the column title for the item name, e.g. itemtitle=”Book Title”.
order
Show products ordered either ascending (ASC) or descending (DESC) using the orderby method.
orderby
Show products ordered in a specific way. By default, products are sorted by their WooCommerce custom order and then by name. This attribute accepts the values specified in the WordPress codex for post queries.
To sort by SKU, use
orderby="sku"
for alphabetic order,orderby="sku_numeric"
for numeric orderpricetitle
Change the column title for the price.
productslayout
Select the products layout for grid templates. This affects desktop browsers only; mobile browsers always get the cards layout which better suits smaller screens. Possible values:
- rows
- cards
qtytitle
Change the column title for the quantity.
resettitle
Change link text for the “Reset selection” link on variation selections.
responsivecss
responsivecss=1 will make the form utilise responsive design on small screens, responsivecss=0 won’t. Omit this attribute to use the general settings.
rowtotaltitle
Change the column title for the row total, if shown.
showimages
Show product images in the order form. showimages=1 will display images, showimages=0 won’t.
showoutofstock
Show out-of-stock products in the order form. showoutofstock=1 will show out-of-stock products, showoutofstock=0 won’t.
showproductlink
Link to the product’s page from the product title. showproductlink=1 will show a link, showproductlink=0 won’t.
showrowtotal
Show a row total for each product in the order form. showrowtotal=1 will show the row total, showrowtotal=0 won’t.
showshortdesc
Show product short description under the product title. showshortdesc=1 will display the short description, showshortdesc=0 won’t.
showstock
Show the stock level on products with inventory management. showstock=1 will show the stock level, showstock=0 won’t.
showsubtotal
Show the subtotal row at the bottom of the form. showsubtotal=1 will show the subtotal row, showsubtotal=0 won’t.
slidertitle
Change the slider title when the action buttons are placed sticky left or right, with a slider.
submitredirect
Where to redirect on submit; default = “checkout”, accepted values are:
- cart — show the shopping cart
- checkout — go straight to the checkout
- form — return to the order form
submittitle
Change the button title for the Place Order button.
subtotalgrid
Change the subtotal title for a form with a grid template.
subtotaltitle
Change the row title for the subtotal row, if shown.
tag
Show only products with the selected product tag. You can use either the product tag ID (numeric) or its slug.
Separate multiple tags with commas, e.g. “birds,reptiles”
template
The default template is “order-form”, but you can create custom templates in your theme and select them with this attribute.
variations
Separating product rows into one row per variation by setting variations=”separate”.
NB: does not currently show separate rows for attributes that don’t affect the price, e.g. colour. That feature is coming soon!