2017-03-02 38 views
1

我需要在循環中的WooCommerce中的「添加到購物車」按鈕附近顯示數量選擇。我怎麼做? 謝謝MahdiY,這工作。但我面臨另一個問題: 我想用購物車圖標替換按鈕「添加到購物車」。 在文件添加到cart.php我有以下代碼:如何在woocommerce中顯示數量選擇循環?

global $product; 
$class = isset($class) ? $class . ' cart-icon-btn' : 'cart-icon-btn'; 
$tdir = get_template_directory_uri(); 
echo has_filter('woocommerce_loop_add_to_cart_link'); 
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"><img class="cart-icon-btn" src="' . $tdir . '/images/basketin.png"></a>', 
     esc_url($product->add_to_cart_url()), 
     esc_attr(isset($quantity) ? $quantity : 1), 
     esc_attr($product->id), 
     esc_attr($product->get_sku()), 
     esc_attr(isset($class) ? $class : 'button') 
     // esc_html($product->add_to_cart_text()) 
    ), 

但這種過濾器「woocommerce_loop_add_to_cart_link」似乎忽略我的HTML和刪除IMG標記。我試圖在WC代碼的文件中找到添加到此過濾器的任何函數,但沒有找到。 我該如何解決這個問題?

+1

無需刪除功能,只要使用具有的add_filter一大重點。 – MahdiY

回答

0

使用此代碼:

<?php 
/** 
* Code should be placed in your theme functions.php file. 
*/ 
add_filter('woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2); 

function quantity_inputs_for_woocommerce_loop_add_to_cart_link($html, $product) { 
    if ($product && $product->is_type('simple') && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually()) { 
     $html = '<form action="' . esc_url($product->add_to_cart_url()) . '" class="cart" method="post" enctype="multipart/form-data">'; 
     $html .= woocommerce_quantity_input(array(), $product, false); 
     $html .= '<button type="submit" class="button alt">' . esc_html($product->add_to_cart_text()) . '</button>'; 
     $html .= '</form>'; 
    } 
    return $html; 
} 

Override loop template and show quantities next to add to cart buttons.

+0

謝謝,這有效,但我面臨另一個問題; – Den