跳转到主要内容

覆盖循环模板,并在“加入购物车”按钮旁边显示数量

将以下代码添加到您子主题的 functions.php 文件中,或者通过允许添加自定义函数的插件,例如 Code Snippets 插件。 避免直接将自定义代码添加到父主题的 functions.php 文件中,因为在更新主题时,这些代码会被完全清除。

if ( ! function_exists( 'YOUR_PREFIX_quantity_inputs_for_woocommerce_loop_add_to_cart_link' ) ) {
  /**
   * 覆盖循环模板,并在“加入购物车”按钮旁边显示数量
   * @param  string $html    默认循环模板。
   * @param  object $product 产品数据。
   * @return string          修改后的循环模板。
   */
	function YOUR_PREFIX_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;
	}
	add_filter( 'woocommerce_loop_add_to_cart_link', 'YOUR_PREFIX_quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
}