提问者:小点点

避免继续签出按钮文本刷新为WooCommerce购物车页面中的默认文本


在WooCommerce中,在我的店面子主题中,我在继续结帐按钮中编辑了代码。php将“继续结帐”更改为“结帐”:

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
}
?>

<a href="<?php echo esc_url( wc_get_checkout_url() ); ?>" class="checkout-button button wc-forward">
    <?php esc_html_e( 'Checkout', 'woocommerce' ); ?>
</a> 

但当用户更改购物车页面中的产品数量时,按钮文本将返回默认“继续结帐”。

是否有筛选器或编辑此更新文本的位置?

编辑-问题解决

该问题与WooCommerce Better Availability pro插件中的特定购物车选项有关,其中“自动更新购物车时显示文本”选项需要禁用(未选中)。


共2个答案

匿名用户

而不是覆盖proceed-to-checkout-button.php文件,应该使用以下内容:

remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
add_action( 'woocommerce_proceed_to_checkout', 'custom_button_proceed_to_checkout', 20 );
function custom_button_proceed_to_checkout() {
    echo '<a href="'.esc_url(wc_get_checkout_url()).'" class="checkout-button button alt wc-forward">' .
    __("Checkout", "woocommerce") . '</a>';
}

代码functions.php活动子主题(或活动主题)的文件中。测试和工作在最后一个WooCommerce版本下的店面主题。

现在,由于您已经在模板中进行了大量自定义,或者您正在购物车页面中使用一些插件进行自定义,因此问题可能仍然是由于这些自定义。

匿名用户

此文件将转到“签出”按钮。php正在从函数woocommerce_按钮_procedue_to _checkout()调用,该函数与操作“woocommerce_procedue_to _checkout”挂钩,您可以在woocommerce/includes/wc模板挂钩中找到它。php

因此,您可以覆盖函数woocommerce\u按钮\u procedue\u to\u checkout()-只需将其添加到您的函数中即可。php

/**
*   Change Proceed To Checkout Text in WooCommerce
*   Add this code in your active theme functions.php file
**/
function woocommerce_button_proceed_to_checkout() {
    
       $new_checkout_url = WC()->cart->get_checkout_url();
       ?>
       <a href="<?php echo $new_checkout_url; ?>" class="checkout-button button alt wc-forward">
       
       <?php _e( 'Go to Secure Checkout', 'woocommerce' ); ?></a>
       
<?php
}

我猜ajax按钮的更新可能来自父主题。