php - 更改 WooCommerce 中特定付款方式的结帐提交按钮文本

标签 php jquery wordpress woocommerce checkout

我需要更改特定支付网关(本例中为 COD)的 order_button_text

我只能使用以下方法使其在全局范围内(对于所有支付网关)进行更改:

add_action( 'woocommerce_after_add_to_cart_button', 'multiple_orders_text' );
function woo_custom_order_button_text() {
    return __( 'Request Shipping Quote', 'woocommerce' );
}

但是发现如果我添加该行

$this->order_button_text  = __( 'Request a Quote', 'woocommerce' );

woocommerce/includes/gateways/cod/class-wc-gateway-cod.php 中的 setup_properties() 方法,它确实有效。

但是,这显然是不好的做法,因为我正在破解核心插件文件。

如何在不破解 woocommerce 核心文件的情况下实现此目的?

最佳答案

你可以这样做:

add_filter( 'woocommerce_available_payment_gateways', 'woocommerce_available_payment_gateways' );
function woocommerce_available_payment_gateways( $available_gateways ) {
    if (! is_checkout() ) return $available_gateways;  // stop doing anything if we're not on checkout page.
    if (array_key_exists('paypal',$available_gateways)) {
        // Gateway ID for Paypal is 'paypal'. 
         $available_gateways['paypal']->order_button_text = __( 'Request a Quote', 'woocommerce' );
    }
    return $available_gateways;
}

reigelgallarde.me 此代码示例适用于 paypal。有关网关 ID 的引用,请检查 WooCoomerce> 设置> 结账> 网关显示顺序

reigelgallarde.me

关于php - 更改 WooCommerce 中特定付款方式的结帐提交按钮文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739331/

相关文章:

php - 类表继承实现

javascript - 如何使用 HTML 中的 JSON 外部文件填充下拉按钮

javascript - 动态插入的 Woocommerce 产品数量

javascript - 在javascript中一次合并2个动态数组1个元素

wordpress - 如何在我的插件中使用wordpress上传文件/图像代码

css - wordpress函数中的分页代码

php - 如何不将表示与逻辑混在一起?

带有证书但没有 key 文件或密码的 phpcurl

php - Mysql查询以不同的顺序返回

javascript - slider 革命 + BarbaJS (PJAX)