在 Woocommerce 中的产品摘要下方添加额外的“添加到购物车”按钮

Adding Extra Add to cart button below product summary in Woocommerce

在 WooCommerce 中,我试图在产品摘要下方添加一个额外的添加到购物车按钮。我在适用于单个产品的代码之后成功添加了一个额外的按钮:

add_action( 'woocommerce_single_product_summary', 'custom_button_after_product_summary', 30 );

function custom_button_after_product_summary() {
  global $product;
  echo "<a href='".$product->add_to_cart_url()."'>add to cart</a>";
}

但是,如果产品是变体,则它不起作用。

请建议怎么做?

我稍微重新访问了您的代码,并为可变产品添加了第二个挂钩函数:

// For Simple products
add_action( 'woocommerce_single_product_summary', 'second_button_after_product_summary', 30 );
function second_button_after_product_summary() {
    global $product;

    if( ! $product->is_type( 'variable' ) )
        echo '<button type="submit" name="add-to-cart" value="'. esc_attr( $product->get_id() ).'" class="single_add_to_cart_button button alt">'. esc_html( $product->single_add_to_cart_text() ).'</button>';
}

// For Variable products
add_action( 'woocommerce_single_variation', 'second_button_single_variation', 30 );
function second_button_single_variation() {
    global $product;

    echo '<br>
        <button type="submit" class="single_add_to_cart_button button alt">'. esc_html( $product->single_add_to_cart_text() ).'</button>';
}

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。

您将在可变产品上获得此信息:

@LoicTheAztec 提供的答案是正确的,但缺少按钮单击事件的操作属性。这是带有 action 属性的更正代码。

// For Simple products
add_action( 'woocommerce_single_product_summary', 'second_button_after_product_summary', 30 );
function second_button_after_product_summary() {
    global $product;

    if( ! $product->is_type( 'variable' ) )
        echo '<button type="submit" name="add-to-cart" value="'. esc_attr( $product->get_id() ).'" action="'.esc_url( apply_filters( 'woocommerce_add_to_cart_form_action', $product->get_permalink() ) ).'" class="single_add_to_cart_button button alt">'. esc_html( $product->single_add_to_cart_text() ).'</button>';
}

如果您使用的是外部产品或变体项目,请适当添加操作属性。请参考“plugins/woocommerce/templates/single-product/add-to-cart”