【问题标题】:Change the "view cart" product overlay button on product loops in Woocommerce在 Woocommerce 中更改产品循环上的“查看购物车”产品覆盖按钮
【发布时间】:2018-09-01 00:41:48
【问题描述】:

WooCommerce 相对较新,我正在尝试对您成功将产品添加到购物车后出现的按钮进行简单更改。

我正在使用 Shop Isle 并创建了一个子主题。

当您将鼠标悬停在产品上时,会出现一个叠加层,允许您将产品添加到购物篮中。此按钮会触发 AJAX 调用,该调用会添加产品,成功时会显示​​一个新的 View Basket 按钮。

据我所知,这是由 Woocommerce 文件(不是特定于主题的文件)完成的,并在 add-to-cart.js (js/frontend/add-to-cart.js) 中处理

我要做的是更改此文本和链接以直接转到结帐页面。

我找到的代码如下:

if ( ! wc_add_to_cart_params.is_cart && $button.parent().find( '.added_to_cart' ).length === 0 ) 
{
    $button.after( ' <a href="' + wc_add_to_cart_params.cart_url + '" class="added_to_cart wc-forward" title="' +
    wc_add_to_cart_params.i18n_view_cart + '">' + wc_add_to_cart_params.i18n_view_cart + '</a>' );
}

我知道我可以简单地覆盖这里的代码,但是当插件更新时它不会是未来的证明,更重要的是我实际上不确定该函数从哪里获取 wc_add_to_cart_params 以及我什至会从哪里获取去覆盖这个。

任何帮助将不胜感激。

【问题讨论】:

    标签: php jquery wordpress woocommerce product


    【解决方案1】:
    function change_view_cart( $params, $handle )
    {
                switch ($handle) {
                    case 'wc-add-to-cart':
                        $params['i18n_view_cart'] = "Proceed to Cart"; //chnage Name of view cart button
                        $params['cart_url'] = "http://myshop.com/custom-page"; //change URL of view cart button
                    break;
                }
                return $params;
    }
    add_filter( 'woocommerce_get_script_data', 'change_view_cart',10,2 );
    

    【讨论】:

      【解决方案2】:

      从js“查看购物车”按钮更改文本和URL的正确和最干净的方法是:

      add_filter( 'woocommerce_get_script_data', 'change_js_view_cart_button', 10, 2 ); 
      function change_js_view_cart_button( $params, $handle )  {
          if( 'wc-add-to-cart' !== $handle ) return $params;
      
          // Changing "view_cart" button text and URL
          $params['i18n_view_cart'] = esc_attr__("Checkout", "woocommerce"); // Text
          $params['cart_url']      = esc_url( wc_get_checkout_url() ); // URL
      
          return $params;
      }
      

      代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

      【讨论】:

        猜你喜欢
        • 2018-05-18
        • 1970-01-01
        • 1970-01-01
        • 2017-04-06
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-31
        相关资源
        最近更新 更多