Woocommerce - 如何链接到产品变化?

时间:2015-10-18 20:09:10

标签: wordpress woocommerce

我正在尝试找到一种方法来获取特定产品变体的链接。

我以为我用这个插件解决了它... 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(其中变体值为“蓝绿色”,空格替换为“+”)

8 个答案:

答案 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大部分时间都会为购物车生成这些代码:

  1. 亲自访问变体产品
  2. 向购物车添加变体
  3. 打开购物车并将鼠标悬停在商品上 - >您的状态栏中的链接(或右键单击>复制链接地址)就是它!
  4. 它应该有这样的后缀: 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参数访问任何变体。在产品详细信息页面上选择版本的方式是选择菜单。该选择的名称属性是参数名称,而选项值属性是参数值。这是一个示例:

enter image description here

如果您要链接突出显示的版本,您的链接将类似于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 _”。

注意:这个问题已经很老了,但是我到了这里,却没有找到完整的答案,所以我想把它添加进去,以便其他人从中受益。