如何链接两个下拉列表以影响彼此的选择?

时间:2019-01-13 14:00:25

标签: php wordpress woocommerce

我正在使用Woocommerce在一个国家的两个城市(都在不同州)销售产品。默认情况下,结帐页面上有一个用于city的文本字段,但它太通用了。因此,我正在运行此代码段,以通过下拉菜单将其限制在两个城市:

/**
 * Snippet 1: For city selection drop-down
 */

add_filter( 'wc_city_select_cities', 'my_cities' );

function my_cities( $cities ) {

    $cities['PK'] = array(
        'PK1' => array(
            'Lahore'
        ),
        'PK2' => array(
            'Karachi'
        )
    );
    return $cities;
}

默认的州/县选择下拉列表包含我国家的所有省/州,因此我不得不使用以下代码段将其限制为相应城市的两个省:

/**
 * Snippet 2: For state selection drop-down
 */

add_filter( 'woocommerce_states', 'custom_woocommerce_states' );

function custom_woocommerce_states( $states ) {

  $states['PK'] = array(
    'PK1' => 'Punjab', 
    'PK2' => 'Sindh'
  );
  return $states;
}

使用此代码,如果用户在城市中选择“拉合尔”,那么他们仍然可以在“州”下拉列表中选择“旁遮普省”或“信德省”。但是,如果他们选择一个州,例如选择信德省,则“城市”选项将限制为位于该州的城市。但是默认情况下仍不会选择该城市。

如果用户选择拉合尔,则默认情况下将选择状态旁遮普省;如果用户选择信德省或旁遮普省,则默认情况下将选择卡拉奇或拉合尔,我该怎么办?

任何帮助将不胜感激。谢谢!

0 个答案:

没有答案