Product Table shortcode reference

WooCommerce / Product Table

Every Product Table shortcode attribute. Anything you leave out uses Table Defaults for columns, rows per page, design, and width, then the built-in default shown here.

Shortcode: [yh_wc_product_table]. The block prints the same shortcode from its sidebar, but the sidebar does not include every attribute. Filters, variations, quick view, cart summary, guest columns, and design templates are shortcode-only.

Columns and layout

AttributeDefaultNotes
columnsimage,name,summary,price,buyComma-separated. Heading override: name:Item.
rows_per_page25Max 200. -1 for one page.
product_limit500Max products queried. Hard cap 1000.
widthnormalnormal, wide, full.
designdefaultdefault, modern, classic, minimal, dark, green, purple, red.
image_size70x70150x150 or a registered image size.
lightboxtrueClick image to enlarge.
linksallall, none, or column names.
wraptrueWrap long text.
hide_headerfalseHide the heading row.
sticky_headerfalseKeep the heading visible while scrolling.
custom_classEmptyExtra class on the <table>.
column_widthsEmptyname:40%,sku:90px.
hide_columns_guestEmptyColumns removed for logged-out visitors.
description_length15Words in summary and description. -1 for the full text.
shortcodesfalseRun shortcodes in summary and description.
date_formatEmptyPHP date format for the date column.
button_textShow detailsLabel of the button column.
no_products_messageEmptyText when the query returns nothing.
no_products_filtered_messageEmptyText when search or a dropdown hides every row.

Which products

AttributeDefaultNotes
categoryEmptyCategory slugs, comma-separated.
exclude_categoryEmptyCategory slugs to skip.
tagEmptyTag slugs.
includeEmptyProduct IDs to keep.
excludeEmptyProduct IDs to skip.
statuspublishShoppers always get published products.
product_typeEmptysimple, variable, grouped, external.
min_price0No minimum when 0.
max_price0No maximum when 0.
in_stock_onlyfalseIn-stock products only.
on_sale_onlyfalseSale products only.
featured_onlyfalseFeatured products only.
taxonomyEmptyTaxonomy name, used with term.
termEmptyTerm slug.

Search, pages, and sort

AttributeDefaultNotes
search_boxBottomtop, bottom, both, false.
search_termEmptyPre-filled search. search is an alias.
instant_searchfalseSearch as you type.
paginationBottomtop, bottom, both, false.
page_lengthBottom“Show X entries”. Same positions.
totalsBottom“Showing X of Y”. Same positions.
paging_typenumbersnumbers, simple, simple_numbers, full, full_numbers.
load_morefalseLoad more button instead of page numbers.
lazy_loadfalseAJAX rows.
cachefalseCache the product query.
sort_bymenu_orderColumn to sort on first load.
sort_orderascasc or desc.
filtersOffcategories,stock,att:color:Color.
reset_buttonfalseReset search, dropdowns, and sort.

Cart and variations

AttributeDefaultNotes
cart_buttonbuttonbutton, checkbox, or button_checkbox. Both checkbox values render a checkbox.
ajax_carttrueAdd without a reload.
quantitiesfalseQuantity field in the buy column.
multi_addfalseSelect all and Add selected. Needs a checkbox buy column.
footer_cartfalseCart summary under the table.
floating_cartfalseFloating cart button.
direct_checkoutfalseGo to checkout after a successful add.
quick_viewfalseQuick view icon in the buy column.
variationsdropdowndropdown, rows, or false.
variation_name_formatname_attributesname_attributes, name_only, attributes_only. Used with variations="rows".

Responsive

AttributeDefaultNotes
responsive_visibilityEmptysku:desktop,stock:tablet. Desktop hides under 1024px. Tablet hides under 768px.
column_priorityEmptyname:1,price:2. Lower numbers stay visible longer. 1–10.

Shop pages

Automatic shop, category, tag, search, and attribute tables are configured under WooCommerce → Product Table → Shop Integration, not with these attributes. For a page builder template, choose Manual and place [yh_wcpt_archive_table]. That shortcode does not take attributes. It uses the Shop Integration settings for the current page, including the current category, tag, search, or attribute.

A normal shortcode on a category page does not inherit that category. Pass category="the-slug" yourself, or use [yh_wcpt_archive_table] so the archive supplies it.