对于我的结帐页面,我希望有超过 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>
因此您可以将其包含在任何结帐模板中或使用可用的挂钩,例如:
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>
内。
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 );
我没有测试过,需要检查是否不会因为单个产品页面上有多个按钮而产生错误。
特点
https://www.tutorialslides.com/plugin/customize-place-order-add-to-cart-button-for-woocommerce/