首页 > 解决方案 > 如何将添加到购物车的链接插入到图标 - Woocommerce

问题描述

我尝试用以下代码替换“添加到购物车”按钮:

add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_default_button' );
function replace_default_button(){
    return __( '<i class="fas fa-cart-plus"></i>', 'woocommerce' );
}

我将下面的代码插入到我的 woocommerce/loop/add-to-cart.php

global $product;

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

我收到的结果是按钮添加到购物车替换到购物图标但没有链接,有人可以帮我解决这个问题吗?!谢谢

标签: woocommerce

解决方案


如果您可以编辑模板页面,那么为什么不能将 add_to_cart_text 替换为图标 html

global $product;

    echo apply_filters( 'woocommerce_loop_add_to_cart_link',
    sprintf( '<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
    esc_url( $product->add_to_cart_url() ),
    esc_attr( isset( $quantity ) ? $quantity : 1 ),
    esc_attr( $product->get_id() ),
    esc_attr( $product->get_sku() ),
    esc_attr( isset( $class ) ? $class : 'button' ),
    '<i class="fas fa-cart-plus"></i>'
    ),
    $product );

推荐阅读