You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress 6.2.2:无法在加入购物车按钮中显示FontAwesome图标

解决WooCommerce加入购物车按钮FontAwesome图标被转义的问题

问题根源在于woocommerce_product_single_add_to_cart_text过滤器返回的文本会被WooCommerce自动转义HTML标签,导致图标代码被转换成实体字符无法正常渲染。以下是两种可行的解决方法:

方法一:直接修改按钮HTML(推荐)

使用woocommerce_add_to_cart_button_html过滤器直接修改按钮的完整HTML内容,绕过自动转义机制:

add_filter( 'woocommerce_add_to_cart_button_html', 'custom_add_to_cart_button_with_icon' );
function custom_add_to_cart_button_with_icon( $button_html ) {
    // 替换默认按钮文本,插入FontAwesome图标
    $icon_text = '<i class="fa fa-shopping-cart" aria-hidden="true"></i> Add to Cart';
    $button_html = str_replace( esc_html__( 'Add to Cart', 'woocommerce' ), $icon_text, $button_html );
    return $button_html;
}

方法二:自定义渲染加入购物车按钮

移除默认的按钮渲染动作,手动输出包含图标的按钮代码:

remove_action( 'woocommerce_single_product_add_to_cart_button', 'woocommerce_single_product_add_to_cart_button', 30 );
add_action( 'woocommerce_single_product_add_to_cart_button', 'custom_single_add_to_cart_button_with_icon', 30 );
function custom_single_add_to_cart_button_with_icon() {
    global $product;

    if ( ! $product->is_purchasable() ) {
        return;
    }

    // 输出自定义按钮HTML
    echo '<button type="submit" name="add-to-cart" value="' . esc_attr( $product->get_id() ) . '" class="single_add_to_cart_button button alt">';
    echo '<i class="fa fa-shopping-cart" aria-hidden="true"></i> ' . esc_html__( 'Add to Cart', 'woocommerce' );
    echo '</button>';
}

注意事项

  • 若使用FontAwesome 5及以上版本,图标类名需调整为对应样式前缀,比如fas fa-shopping-cart(实心样式)、far fa-shopping-cart(空心样式)。
  • 将代码添加到主题的functions.php文件或自定义插件中即可生效。

内容的提问来源于stack exchange,提问作者user2240778

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:40:09