php - WooCommerce 结帐中的附加自定义下单按钮

标签 php templates woocommerce checkout hook-woocommerce

对于我的结帐页面,我希望有超过 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");

Now as this button is located inside the checkout <form> and if you duplicate it and you want it to work, it requires to be inside the checkout <form>.

因此您可以将其包含在 any checkout template 中或使用可用的钩子(Hook),例如:

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 文件。

您将使用的 Hook 需要位于内部结帐<form> .

关于php - WooCommerce 结帐中的附加自定义下单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57854953/

相关文章:

php - 在 MySQL 中减去两个带时间数据类型的字段

c++ - std::vector 的表达式模板运算符重载问题

php - 删除 OceanWP 主题中产品页面标题下的子标题文本

sql - 为什么 "wc_get_product_id_by_sku()"函数在循环中返回相同的id?

javascript - 更改悬停时添加到购物车文本

php - 使用 PHP 创建搜索过滤器

php - laravel 如何将对象传递给方法工作?

javascript - 使用 PHP 从服务器端发送浏览器通知

c++ - 如何查看为模板类型参数推导的类型?

templates - Freemarker 检查日期/时间