我想更改cart 页面设置为“无”,即“选择国家…”在国家下拉列表中显示为默认值。
我已经看过了this WooCommerce Docs snippet 使用default_checkout_country
filter 但它似乎只适用于checkout 第页(而不是cart 页面),正如标题所示。我还通过围绕apply_filters(\'default_checkout_country\', ...
在显示它们的文件中echo
语句,它们不会出现在为cart 页
由于我们使用的是PayPal Express结账,所以我们没有使用WooCommerce内置的结账页面,因此上述代码片段似乎不适用,需要另一种解决方案。
我的下一步是调查woocommerce/templates/cart/shipping-calculator.php
其中,在cart 页有人打电话到$woocommerce->customer->get_shipping_country()
. 中的功能woocommerce/classes/class-wc-customer.php
只需拿起$_SESSION[\'customer\'][\'shipping_country\']
变量。设置这些变量的唯一位置是在函数中set_shipping_to_base()
在同一个文件中,唯一(有条件地)调用该函数的位置是woocommerce/shortcodes/shortcode-cart.php
我想这会产生cart 从shortcode 用于自动生成的cart 页我添加了一个echo
语句到该文件中调用该函数的块,但标记中没有显示任何内容,因此我陷入了困境。
然而,上述调查似乎有点像转移视线,因为上述会话变量似乎实际上是由Base Country/Region 设置,因为当$_SESSION
变量已在浏览器中打印,其中Cookie和缓存先前已被删除。所以我也被困在这里了。我想要Base Country/Region 设置为保留国家设置,但仍然没有默认国家,除非访问者实际选择了它。
有什么想法吗?