【问题标题】:Make US first in Woocommerce checkout countries select field在 Woocommerce 结帐国家/地区选择字段中使美国成为第一
【发布时间】:2018-09-11 00:39:56
【问题描述】:

我已经在 woocommerce 结帐时选择了美国作为我的默认国家/地区。除此之外,我还被要求将“美国”移到结帐表单中国家/地区列表的最顶部。

我创建了一个新过滤器并像这样连接到“woocommerce_countries”钩子:

function change_country_order_in_checkout_form($countries)
{
    $countries = array('US' => $countries['US']) + $countries;

    return $countries;
}

add_filter( 'woocommerce_countries', 'change_country_order_in_checkout_form' );

我的国家/地区列表已正确修改,但 WooCommerce 中的某些内容按字母顺序对国家/地区进行排序,我想避免这种情况。我尝试添加:

remove_filter('woocommerce_sort_countries', 'wpautop');

但这似乎没有任何区别。任何帮助表示赞赏。

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce countries


    【解决方案1】:

    为了避免排序,你需要这样使用woocommerce_sort_countries过滤钩子:

    add_filter('woocommerce_sort_countries', '__return_false');
    

    要先设置“US”,请尝试以下操作:

    add_filter( 'woocommerce_countries', 'change_country_order_in_checkout_form' );
    function change_country_order_in_checkout_form($countries)
    {
        $usa = $countries['US']; // Store the data for "US" key
        unset($countries["US"]); // Remove "US" entry from the array
    
        // Return "US" first in the countries array
        return array('US' => $usa ) + $countries;
    }
    

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

    【讨论】:

      猜你喜欢
      • 2016-01-01
      • 2021-10-27
      • 2019-04-07
      • 2015-04-09
      • 2018-05-05
      • 2019-08-07
      • 2021-03-23
      • 1970-01-01
      • 2021-03-24
      相关资源
      最近更新 更多