我正在尝试找到一种方法来获取特定产品变体的链接。
我以为我用这个插件解决了它... https://wordpress.org/plugins/woocommerce-direct-variation-link/
然而,我有两个字的产品属性名称,似乎无法让它工作?我把_, - ,&两个词之间的+,但不是。
这是doc ...在我的情况下,我会有“颜色样式”而不仅仅是“颜色” mysite.com/product/happy-ninja/?color=blue
mysite.com/product/happy-ninja/?color=blue&size=small(其他变体应以'&'分隔)
mysite.com/product/happy-ninja/?color=blue+green(其中变体值为“蓝绿色”,空格替换为“+”)
答案 0 :(得分:7)
我自己尝试了很多解决方案和插件,但我找到了一种方法,可以在没有插件的情况下轻松完成。我不确定这是否在2015年的oktober中有效,但现在确实有效。
我已在此YouTube视频https://www.youtube.com/watch?v=Y_hMI4bXN6A
中对其进行了解释你要做的是添加像' /?attribute_color = red'在你的产品背后。
website.com/shop/product1/?attribute_color=red
website.com/shop/product1/?attribute_length=10m
然而,我通过反复试验发现的是您使用的属性类型。 您可以通过两种方式添加属性,即预制的(文本/选择)或自定义属性。直接链接此方法仅适用于创建自定义产品属性的情况。
如果你使用国会大厦字母,你必须注意它的工作。对于自定义产品属性的名称,如果在后端使用capitols,则无关紧要(只要您不在URL中使用主题)。但是对于值,你只能在后端和url本身使用普通字母和没有capitols。
示例强>
名称:颜色
值:红色|黑色,绿色
website.com/shop/product1/?attribute_color=red > will work
website.com/shop/product1/?attribute_Color=red > will not work
website.com/shop/product1/?attribute_color=Red > will not work
website.com/shop/product1/?attribute_color=Black > will work
website.com/shop/product1/?attribute_color=black > will not work
我已在此YouTube视频https://www.youtube.com/watch?v=Y_hMI4bXN6A
中对其进行了解释答案 1 :(得分:6)
在上一张海报上,我无法让他的代码正常工作,但我确实发现WooCommerce大部分时间都会为购物车生成这些代码:
它应该有这样的后缀: http://website.com/product/product-name/?attribute_colours=Grey
请注意,colours
为小写,因为它是slug而Grey
是变体的实际名称。
对于变体名称中的空格,请使用+
代替空格。
为了选择多个变体属性,我相信您可以从&
开始并再次吐出?attribute_[slug]=Variation
。
答案 2 :(得分:2)
我正在使用插件Variation Swatches for WooCommerce,所以我不确定这是否是核心wordpress / woocommerce功能。
我所做的是打开我的一个产品,然后打开产品数据"去了#34; Linked Products"选项卡并将我的一个变体链接到产品。更新并转到产品页面。点击链接产品后,我得到了这样的网址:
example.eg/product/product-name-slug/?attribute_pa_kids-size=27&attribute_pa_color=navy
跟随?attribute_pa_
是我的属性名称slug(kids-size),跟随=
是单个属性slug(27,28,蓝色,红色,海军......)的slug。
正如您所看到的,它适用于url中的多个属性。
如果您不了解您的slu ,,只需将您的变体产品链接到另一个并复制链接即可。
答案 3 :(得分:2)
我认为许多人会寻找通过url参数链接特定变体的解决方案,因此该主题的答案更长。
与这里提到的其他许多变量一样,您可以使用attribute参数访问任何变体。在产品详细信息页面上选择版本的方式是选择菜单。该选择的名称属性是参数名称,而选项值属性是参数值。这是一个示例:
如果您要链接突出显示的版本,您的链接将类似于https://example.com/some_product/?attribute_pa_size=small
您当然可以添加多个参数,例如https://example.com/some_product/?attribute_pa_size=small&attribute_pa_color=red
问题是,使用开发工具来挖掘这些信息不是一个非常方便的解决方案。您可以通过get_permalink传递woocommerce变体ID来获取实际的网址…这是一个准确的代码片段…变体永久链接应在特定产品变体选项卡/协议的wordpress管理员中可见。
add_action( 'woocommerce_product_after_variable_attributes', 'gdy_add_wc_varition_permalink', 100, 3 );
function gdy_add_wc_varition_permalink( $loop, $variation_data, $variation ) {
echo '<a href="' . get_permalink( $variation->ID ) . '" target="_blank">' . __( 'Permalink for this variation' ) . '</a>';
}
答案 4 :(得分:1)
我没有对此进行测试,但请尝试将变体名称中的空格替换为%20,这是空格字符的url编码版本。
答案 5 :(得分:1)
你可以:
$variation_product_url = $variation_product->get_permalink();
WooCommerce处理剩下的事情;将正确的参数添加到网址。
答案 6 :(得分:0)
只需查看单个产品页面的HTML代码,找到您的产品变量,选择组合ID并在网址末尾添加:?attribute_YOUR_ID = YOUR_VALUE
如果你有多个变量选项,可以使用组合,用&amp;
分隔它们示例:
website.com/shop/product1/?attribute_id_of_variable_combo=value_of_combo
答案 7 :(得分:0)
在任何情况下,您都可以创建指向变体的直接链接,这意味着使用自定义属性的变体和使用预定义属性的变体。
您需要将URL参数附加到URL上,只是略有不同。
示例:
自定义属性变体网址:
domain.com/shop/product-x/?attribute_color=blue
预定义的属性变体网址:
domain.com/shop/product-x/?attribute_pa_color=blue
唯一的区别是“ pa _”。
注意:这个问题已经很老了,但是我到了这里,却没有找到完整的答案,所以我想把它添加进去,以便其他人从中受益。