避免在WooCommerce购物车页面中进行结账按钮文本刷新为默认文本



在WooCommerce中,在我的Storefront子主题中,我编辑了proceed-to-checkout-button.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 Usability pro插件中的特定购物车选项有关,其中选项"在自动更新购物车时显示文本">需要禁用(未选中(

不应重写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文件中。在Storefront主题下测试并工作于WooCommerce的最后一个版本。

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

此文件已处理到checkout-button.php正在从函数woococommerce_button\uproceed_to_checkout((调用,该函数与操作'woococommence_proceed_to_checkout'挂钩-您可以在woococommerce/includes/wc-template-hooks.php 中找到它

因此,您可以覆盖函数woommerce_button\uproceed_to_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按钮的更新可能来自父主题。

最新更新