要从特定产品中删除“添加到购物车”按钮,请替换链接

时间:2017-06-25 16:13:33

标签: php wordpress woocommerce

我搜索过从特定产品中删除“添加到购物车”按钮,我在functions.php中使用了此代码。

add_filter('woocommerce_is_purchasable', 'my_woocommerce_is_purchasable', 10, 2);
function my_woocommerce_is_purchasable($is_purchasable, $product) {
        return ($product->id == 305 ? false : $is_purchasable);
}

现在我想替换直接下载链接而不是添加到购物车按钮。 我有免费的产品,我想要直接下载链接,而不是添加到购物车按钮。

EDITED: 我使用了这段代码,但是我看到了所有单一产品页面中的直接下载链接。我想在有免费产品的页面中看到直接下载链接。

add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_startsinfo', 11 );
function woocommerce_template_single_startsinfo() { 
echo '<div class="starsinfo">
<p><a href="http://localhost/wordpress/wp-content/uploads/2017/05/Test.apk">direct download</a>
</div>';
 }

1 个答案:

答案 0 :(得分:0)

添加到购物车按钮实际上是一个HTML元素。您可以使用过滤器&#39; woocommerce_product_add_to_cart_url&#39;来更改此HTML元素的href。

add_filter( 'woocommerce_product_add_to_cart_url', function( $url, $product ) {
    return $your_url;
}, 10, 2 );

当然,您应该使用$ product作为WC_Product的子类来确定$ your_url。