diff --git a/cmb2-field-ajax-search.php b/cmb2-field-ajax-search.php index 514e542..112d59e 100644 --- a/cmb2-field-ajax-search.php +++ b/cmb2-field-ajax-search.php @@ -27,7 +27,7 @@ if( ! class_exists( 'CMB2_Field_Ajax_Search' ) ) { /** * Current version number */ - const VERSION = '1.0.2'; + const VERSION = '1.0.3'; /** * Initialize the plugin by hooking into CMB2 @@ -46,7 +46,7 @@ if( ! class_exists( 'CMB2_Field_Ajax_Search' ) ) { add_filter( 'cmb2_pre_field_display_term_ajax_search', array( $this, 'display' ), 10, 3 ); // Sanitize - add_action( 'cmb2_sanitize_post_ajax_search', array( $this, 'sanitize' ), 10, 4 ); + add_action( 'cmb2_sanitize_post_ajax_search', array( $this, 'sanitize' ), 10, 4 ); add_action( 'cmb2_sanitize_user_ajax_search', array( $this, 'sanitize' ), 10, 4 ); add_action( 'cmb2_sanitize_term_ajax_search', array( $this, 'sanitize' ), 10, 4 ); @@ -54,17 +54,25 @@ if( ! class_exists( 'CMB2_Field_Ajax_Search' ) ) { add_action( 'wp_ajax_cmb_ajax_search_get_results', array( $this, 'get_results' ) ); } + public function convert_as_id_css( $name ) { + return str_replace( '__', '_', str_replace( '[', '_', str_replace( ']', '_', $name ) ) ); + } + /** * Render field */ public function render( $field, $value, $object_id, $object_type, $field_type ) { - $field_name = $field->_name(); + $field_name = $this->convert_as_id_css($field->_name()); $default_limit = 1; // Current filter is cmb2_render_{$object_to_search}_ajax_search ( post, user or term ) $object_to_search = str_replace( 'cmb2_render_', '', str_replace( '_ajax_search', '', current_filter() ) ); - if( $field->args( 'multiple' ) == true ) { + if( ! is_array( $value ) && strpos( $value, ', ' ) ) { + $value = explode(', ', $value); + } + + if( $field->args( 'multiple-item' ) == true ) { $default_limit = -1; // 0 or -1 means unlimited ?>