要使用WooCommerce短代码,首先需要在WordPress后台中安装并激活WooCommerce插件。然后,可以在文章或页面中插入以下短代码:
【woocommerce_cart] – 显示购物车内容
【woocommerce_checkout] – 显示结账表单
【woocommerce_order_tracking] – 显示订单跟踪表单
【woocommerce_my_account] – 显示用户帐户页面
【woocommerce_edit_address] – 显示编辑地址表单
【woocommerce_change_password] – 显示更改密码表单
【woocommerce_view_order] – 显示查看订单页面
【woocommerce_pay] – 显示支付页面
【woocommerce_thankyou] – 显示感谢页面
【woocommerce_lost_password] – 显示丢失密码页面
【woocommerce_edit_account] – 显示编辑帐户页面
【woocommerce_products] – 显示商品列表
【woocommerce_product] – 显示单个商品
【woocommerce_product_search] – 显示商品搜索表单
【woocommerce_product_category] – 显示商品分类列表
【woocommerce_product_attribute] – 显示商品属性列表
【woocommerce_recent_reviews] – 显示最近的评论
【woocommerce_recently_viewed_products] – 显示最近浏览的商品
【woocommerce_top_rated_products] – 显示最高评价的商品
WooCommerce配备了很多shortcode短代码(简码),可以直接在post帖子和page页面内插入内容,方便展示产品、分类等。比如直接在文章编辑时直接插入【products]
,或者在php文件中插入<?php echo do_shortcode('【product]'); ?>
以下是一些常用的woocommerce短代码
注意短代码不要放在<pre></pre>之间,””双引号和”单引号是在英文状态下
product短代码
【products]
短代码允许您按帖子 ID、SKU、类别、属性显示产品,并支持分页、随机排序和产品标签,取代了对多个短代码的需求。查看以下示例。
【products]
【featured_products]
【sale_products]
【best_selling_products]
【recent_products]
【product_attribute]
【top_rated_products]
可用的产品属性
显示产品属性
limit
– 要显示的产品数量。发布商品时默认为 和(全部显示),类别默认为 (显示全部)。-1
-1
columns
– 要显示的列数。默认值为 。4
paginate
– 打开分页。与 结合使用。默认设置为 分页 。limit
false
true
orderby
– 对输入选项显示的产品进行排序。可以通过添加两个 slug 并在它们之间留空格来传递一个或多个选项。可用选项包括:date
– 产品发布日期。id
– 产品的帖子 ID。menu_order
– 菜单顺序,如果已设置(首先显示较小的数字)。popularity
– 购买次数。rand
– 在页面加载时随机订购产品(可能不适用于使用缓存的网站,因为它可以保存特定订单)。rating
– 平均产品评级。title
– 产品标题。这是默认模式。orderby
skus
– 以逗号分隔的产品 SKU 列表。category
– 逗号分隔的类别蛞蝓列表。tag
– 以逗号分隔的标签 slug 列表。order
– 使用中设置的方法说明产品订单是升序 () 还是降序 ()。默认值为 。ASC
DESC
orderby
ASC
class
– 添加 HTML 包装类,以便您可以使用自定义 CSS 修改特定输出。on_sale
– 检索打折产品。不得与 或 一起使用。best_selling
top_rated
best_selling
– 检索最畅销的产品。不得与 或 一起使用。on_sale
top_rated
top_rated
– 检索最受好评的产品。不得与 或 一起使用。on_sale
best_selling
内容产品属性
attribute
– 使用指定的属性 slug 检索产品。terms
– 要与 一起使用的属性术语的逗号分隔列表。attribute
terms_operator
– 用于比较属性项的运算符。可用选项包括:AND
– 将显示来自所有选定属性的产品。IN
– 将显示具有所选属性的产品。这是默认值。terms_operator
NOT IN
– 将显示不在所选属性中的产品。
tag_operator
– 用于比较标签的运算符。可用选项包括:AND
– 将显示所有选定标签中的产品。IN
– 将显示带有所选标签的产品。这是默认值。tag_operator
NOT IN
– 将显示不在所选标签中的产品。
visibility
– 将根据所选可见性显示产品。可用选项包括:visible
– 产品在商店和搜索结果中可见。这是默认选项。visibility
catalog
– 产品仅在商店中可见,但对搜索结果不可见。search
– 产品仅在搜索结果中可见,但在商店中不可见。hidden
– 在商店和搜索中隐藏的产品,只能通过直接 URL 访问。featured
– 标记为特色产品的产品。
category
– 使用指定的类别 slug 检索产品。tag
– 使用指定的标签 slug 检索产品。cat_operator
– 用于比较类别术语的运算符。可用选项包括:AND
– 将显示属于所有选定类别的产品。IN
– 将显示所选类别中的产品。这是默认值。cat_operator
NOT IN
– 将显示不在所选类别中的产品。
ids
– 将根据逗号分隔的帖子 ID 列表显示产品。skus
– 将根据逗号分隔的 SKU 列表显示产品。
如果商品未显示,请确保未在“目录可见性”中将其设置为“隐藏”。
特殊产品属性
这些属性不能与上面列出的“内容属性”一起使用,因为它们可能会导致冲突并且无法显示。应仅使用以下特殊属性之一。
best_selling
– 将显示您最畅销的产品。必须设置为 。true
on_sale
– 将显示您的销售产品。必须设置为 。true
【product]短代码示例
场景 1 – 随机销售物品
我想显示四个随机的特价产品。
【products limit="4" columns="4" orderby="popularity" class="quick-sale" on_sale="true" ]
此简码明确表示四个产品,四列(将是一行),显示最受欢迎的在售商品。它还添加了一个CSS类,我可以在我的主题中修改它。quick-sale
场景 2 – 特色产品
我想展示我的特色商品,每行两件,最多展示四件商品。
【products limit="4" columns="2" visibility="featured" ]
这个简码说最多四个产品将在两列中加载,并且它们必须被推荐。尽管没有明确说明,但它使用默认值,例如按标题(A 到 Z)排序。
场景 3 – 最畅销的产品
我想连续展示我的三个最畅销的产品。
【products limit="3" columns="3" best_selling="true" ]
场景 4 – 最新产品
我想先展示最新产品 – 一行显示四个产品。为此,我们将使用 Post ID(在创建产品页面时生成)以及 order 和 orderby 命令。由于您无法从前端看到 Post ID,因此 ID#s 已叠加在图像上。
【products limit="4" columns="4" orderby="id" order="DESC" visibility="visible"]
场景 5 – 特定类别
我只想展示连帽衫和衬衫,而不是配饰。我将使用两行四行。
【products limit="8" columns="4" category="hoodies, tshirts" cat_operator="AND"]
或者,我只想显示不属于这些类别的产品。我只需要更改 .cat_operator
NOT IN
【products limit="8" columns="4" category="hoodies, tshirts" cat_operator="NOT IN"]
请注意,即使限制设置为 ,也只有四个产品符合该条件,因此会显示四个产品。
场景 6 – 属性显示
每个服装都有一个属性,根据适当的季节,“春/夏”或“秋/冬”,有些配饰具有两者,因为它们可以全年穿着。在此示例中,我希望每行三个产品,显示所有“春/夏”项。该属性 slug 是 ,属性是 和 。我还希望它们从最新产品到最旧产品进行排序。season
warm
cold
【products columns="3" attribute="season" terms="warm" orderby="date"]
或者,如果我想只展示寒冷天气的产品,我可以添加我的:NOT IN
terms_operator
【products columns="3" attribute="season" terms="warm" terms_operator="NOT IN"]
请注意,通过使用 ,我排除了同时处于“春/夏”和“秋/冬”中的产品。如果我想展示所有适合寒冷天气的装备,包括这些共享配件,我会将术语从 更改为 .NOT IN
warm
cold
场景 7 – 仅显示带有标签“连帽衫”的产品
【products tag="hoodie"]
按自定义meta字段对产品进行排序
使用产品简码时,您可以选择按上述预定义值订购产品。您还可以使用以下代码按自定义元字段对产品进行排序(在本例中,我们按价格对产品进行排序):
需要将此代码段放在主题文件夹中.php然后通过编辑meta_key对其进行自定义。
add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby' );
function woocommerce_shortcode_products_orderby( $args ) {
$standard_array = array('menu_order','title','date','rand','id');
if( isset( $args['orderby'] ) && !in_array( $args['orderby'], $standard_array ) ) {
$args['meta_key'] = $args['orderby'];
$args['orderby'] = 'meta_value_num';
}
return $args;
}
产品分类
这两个短代码将在任何页面上显示您的产品类别。
【product_category]
– 将显示指定产品类别中的产品。【product_categories]
– 将显示您的所有产品类别。
可用的产品类别属性
ids
– 指定要列出的特定类别 ID。用于 【product_categories]category
– 可以是类别 ID、名称或 slug。用于 【product_category]limit
– 要显示的类别数量columns
– 要显示的列数。默认值为 4hide_empty
– 默认值为“1”,这将隐藏空类别。设置为“0”以显示空类别parent
– 如果要显示所有子类别,请设置为特定类别 ID。或者,设置为“0”(如下例所示)以仅显示顶级类别。orderby
– 默认按“名称”排序,可以设置为“id”、“slug”或“menu_order”。如果您想按指定的 ID 排序,则可以使用orderby="include"
order
– 使用 中设置的方法说明类别排序是升序 () 还是降序 ()。默认值为 。ASC
DESC
orderby
ASC
产品类别方案示例
仅显示顶级类别
想象一下,您只想在页面上显示顶级类别并排除子类别,那么可以使用以下短代码。
【product_categories number="0" parent="0"]
加入购物车
按ID显示单个产品的价格并添加到购物车按钮。
参数:
array ( 'id' => '99' , 'style' => 'border:4px solid #ccc; padding: 12px;' , 'sku' => 'FOO' 'show_price' => 'TRUE' 'class' => 'CSS-CLASS' 'quantity' => '1' ; ) |
加入购物车短代码:
|
添加到购物车网址
按 ID 在单个产品的添加到购物车按钮上显示 URL。
参数:
array ( 'id' => '99' , 'sku' => 'FOO' ) |
添加购物车网址短代码
【add_to_cart_url id= "99" ] |