Merge remote-tracking branch 'remotes/origin/fix/helpscout#32251_fields_with_countries'

This commit is contained in:
nikitasinelnikov
2019-08-23 20:51:36 +03:00
2 changed files with 18 additions and 1 deletions
@@ -54,6 +54,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
$validate = $field_attr['validate'];
foreach ( $validate as $post_input => $arr ) {
// 'billing_country' and 'shipping_country'
if( $post_input === '_options' && isset( $array[ 'post' ][ '_metakey' ] ) && in_array( $array[ 'post' ][ '_metakey' ], array( 'billing_country', 'shipping_country' ) ) ) {
continue;
}
$mode = $arr['mode'];
switch ( $mode ) {
+13 -1
View File
@@ -2603,6 +2603,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
$output .= '<div class="um-field-icon"><i class="' . esc_attr( $icon ) . '"></i></div>';
}
$options = array();
$has_parent_option = false;
$disabled_by_parent_option = '';
$atts_ajax = '';
@@ -2735,10 +2736,21 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
$options = UM()->builtin()->get ( $filter );
}
if ( ! isset( $options ) ) {
// 'country'
if( $key === 'country' && empty( $options ) ) {
$options = UM()->builtin()->get( 'countries' );
}
// 'billing_country' and 'shipping_country'
if( in_array( $key, array( 'billing_country', 'shipping_country' ) ) ) {
$countries = UM()->builtin()->get( 'countries' );
if( empty( $options ) || !is_array( $options ) ) {
$options = $countries;
} else {
$options = array_intersect_key( $countries, array_flip( $options ) );
}
}
if ( isset( $options ) ) {
/**
* UM hook