对于我的结帐页面,我希望有1个以上的“下订单”按钮。是否有生成此按钮的脚本?到目前为止,我还找不到它。
我只找到了一个可以更改按钮文本的地方。但是我需要一个可以在结帐页面中生成一个新值的地方。
答案 0 :(得分:1)
下订单按钮位于WooCommerce checkout/payment.php
模板文件(行 51
)中:
<?php echo apply_filters( 'woocommerce_order_button_html', '<button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '">' . esc_html( $order_button_text ) . '</button>' ); ?>
$order_button_text = __("Place order", "woocommerce");
现在,由于此按钮位于结帐
<form>
的内部内,并且如果您将其复制并希望它可以工作,则必须为在结帐<form>
中。
因此,您可以将其包含在any checkout template中,或使用可用的钩子,例如:
add_action( 'woocommerce_checkout_after_order_review', 'second_place_order_button', 5 );
function second_place_order_button() {
$order_button_text = apply_filters( 'woocommerce_order_button_text', __( "Place order", "woocommerce" ) );
echo '<button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '">' . esc_html( $order_button_text ) . '</button>';
}
代码进入您的活动子主题(或活动主题)的function.php文件中。
您将要使用的钩子必须位于结帐<form>
的内部内。
答案 1 :(得分:0)
您是否尝试过使用此挂钩?
add_action( '(specify the hook you wish to place it)', 'woocommerce_template_single_add_to_cart', 30 );
例如:
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
我没有测试它,需要检查它是否由于单个产品页面上的多个按钮而不会产生错误。