Woocommerce 替换添加到购物车 url 以链接到产品页面

标签 woocommerce

我正在使用此简码来显示产品 [product_category category="extras"orderby="date"]。

可变产品显示“选择选项”,单个产品显示“添加到购物车”。我能够将两者的文本更改为“查看产品”。

现在的问题是我需要更改那些曾经说“添加到购物车”的网址,因为它们不链接到产品页面,而是“添加到购物车”。

我知道我可以编辑 woocommerce 模板,但我需要将它作为一个函数添加到 function.php

我不需要任何按钮,只需替换 url。

所以再次目的:
替换/重定向“添加到购物车”网址以链接到产品页面(仅在循环中,显然不在产品页面中)。

有人可以帮忙吗?

最佳答案

如果有人确实选择更改 woocommerce 文件(当然是在子主题中!)。

在文件中:/loop/add-to-cart.php

改变:

global $product;

echo apply_filters( 'woocommerce_loop_add_to_cart_link',
    sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s product_type_%s">%s</a>',
        esc_url( $product->add_to_cart_url() ),
        esc_attr( $product->id ),
        esc_attr( $product->get_sku() ),
        esc_attr( isset( $quantity ) ? $quantity : 1 ),
        $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
        esc_attr( $product->product_type ),
        esc_html( $product->add_to_cart_text() )
    ),
$product );

到:

global $product;

if ( $product->product_type == "simple" ) {
    $simpleURL = get_permalink();
    $simpleLabel =  "View Product";  // BUTTON LABEL HERE
} else {
    $simpleURL =  $product->add_to_cart_url();  
    $simpleLabel = $product->add_to_cart_text();
};

echo apply_filters( 'woocommerce_loop_add_to_cart_link',
    sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s product_type_%s">%s</a>',
        esc_url( $simpleURL ),
        esc_attr( $product->id ),
        esc_attr( $product->get_sku() ),
        esc_attr( isset( $quantity ) ? $quantity : 1 ),
        $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
        esc_attr( $product->product_type ),
        esc_html( $simpleLabel )
    ),
$product );

关于Woocommerce 替换添加到购物车 url 以链接到产品页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26247988/

相关文章:

php - 在 WooCommerce 订单状态更改时添加用户元数据作为订单元

php - 在 Woocommerce 中添加基于购物车商品数量的自定义结帐字段

javascript - 您可以自动将产品从在线商店添加到 WooCommerce 吗?

css - 从 WooCommerce 管理员面板中删除 header

php - 在 Woocommerce 中添加带有附加单选按钮的自定义支付网关

php - Woocommerce 商店页面产品描述

php - 在 Woocommerce 中删除特定产品类别的添加购物车按钮

php - 用户注册重定向后打印 woocommerce 通知的问题

php - 通过优惠券为非折扣商品添加自定义捆绑购物车折扣

wordpress - 以编程方式在 WooCommerce 中使用可变产品和两个属性和术语