Php WordPress woocommerce\u get\u country\u locale钩子不工作
我试图以多种方式覆盖“woocommerce\u get\u country\u locale”钩子,为什么它的需要意味着什么 我需要删除特定国家/地区的状态字段 下面显示的是我尝试过的 尝试1Php WordPress woocommerce\u get\u country\u locale钩子不工作,php,wordpress,woocommerce,checkout,Php,Wordpress,Woocommerce,Checkout,我试图以多种方式覆盖“woocommerce\u get\u country\u locale”钩子,为什么它的需要意味着什么 我需要删除特定国家/地区的状态字段 下面显示的是我尝试过的 尝试1 function custom_override_locale_setting ( $locale ) { $locale['HK']['state']['hidden'] = true; return $locale; } add_filter('woocommerce_get_count
function custom_override_locale_setting ( $locale ) {
$locale['HK']['state']['hidden'] = true;
return $locale;
}
add_filter('woocommerce_get_country_locale', 'custom_override_locale_setting');
尝试2
apply_filters( 'woocommerce_get_country_locale', array(
'HK' => array(
'postcode' => array(
'required' => false
),
'city' => array(
'label' => __( 'Town / District', 'woocommerce' ),
//'placeholder' => __( 'Town / District', 'woocommerce' )
)
)
));
请给出实现的建议,谢谢。您可以尝试添加到阵列中:
'state' => array(
'required' => false
)
比如说,在功能上像法国
所以你的过滤器看起来像
apply_filters( 'woocommerce_get_country_locale', array(
'HK' => array(
'postcode' => array(
'required' => false
),
'city' => array(
'label' => __( 'Town / District', 'woocommerce' ),
//'placeholder' => __( 'Town / District', 'woocommerce' )
)
'state' => array(
'required' => false
)
)
));
控制这一点的功能存在于
woocommerce/includes/class wc countries.php
它可以在那里删除,但您需要非常小心,以确保在更新WooCommerce时维护它。我不建议以这种方式编辑核心主题文件,但它可以产生所需的结果
这可能有助于为get country locale函数提供良好的背景:
这可能会提供另一种方式,表明如果你想将香港全部清除,该国是不允许的:
此处答案中的某些内容可能有助于为您指出更正确的方法:
这也可以解释一些行为:当然我没有编辑核心文件,我只是覆盖,现在当添加这个
'state'=>数组('required'=>false)
时,状态被删除了吗?我想当我们给出required时,它的makerequired
字段,但是我需要删除特定国家的state字段!恐怕我不知道也不能在这里测试-因为法国没有这样的州,我想它会删除它-state=>array('')工作吗?您可以通过实验或作为最后手段来编辑核心文件。此页面上的最后一个答案似乎解释了状态字段的问题。ialocin的答案可能会有所帮助:代码并非适用于所有情况,因为在国家选择时,签出表单的状态字段会通过javascript更新。为了使其工作,有必要添加这些案例所需的名称作为翻译,使用。。。并提供了一个建议'state'=>array('hidden'=>true)可能是一个愚蠢的想法,请让我知道如果它不好,我可以删除它!看起来它可能有你想要的-Rolf Hassel的回答是“state”=>array('hidden'=>true)在添加到你的过滤器时做了什么?