init.php
protected static function setup_scripts() {
		static $once = false;

		$dir = CMB2_ATTACHED_POSTS_FIELD_DIR;

		if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) ) {
			// Windows
			$content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
			$content_url = str_replace( $content_dir, WP_CONTENT_URL, $dir );
			$url = str_replace( DIRECTORY_SEPARATOR, '/', $content_url );

		} else {
			$url = str_replace(
				array( WP_CONTENT_DIR, WP_PLUGIN_DIR ),
				array( WP_CONTENT_URL, WP_PLUGIN_URL ),
				$dir
			);
		}

		$url = set_url_scheme( $url );
		$url = apply_filters( 'cmb2_attached_posts_field_assets_url', $url );

		$requirements = array(
			'jquery-ui-core',
			'jquery-ui-widget',
			'jquery-ui-mouse',
			'jquery-ui-draggable',
			'jquery-ui-droppable',
			'jquery-ui-sortable',
			'wp-backbone',
		);

		wp_enqueue_script( 'cmb2-attached-posts-field', $url . 'js/attached-posts.js', $requirements, self::VERSION, true );
		wp_enqueue_style( 'cmb2-attached-posts-field', $url . 'css/attached-posts-admin.css', array(), self::VERSION );

		if ( ! $once ) {
			wp_localize_script( 'cmb2-attached-posts-field', 'CMBAP', array(
				'edit_link_template' => str_replace( get_the_ID(), 'REPLACEME', get_edit_post_link( get_the_ID() ) ),
				'ajaxurl'            => admin_url( 'admin-ajax.php', 'relative' ),
			) );

			$once = true;
		}
	}
protected static function setup_scripts() {
		static $once = false;

		$dir = CMB2_ATTACHED_POSTS_FIELD_DIR;

		if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) ) {
			// Windows
			$content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
			$content_url = str_replace( $content_dir, WP_CONTENT_URL, $dir );
			$url = str_replace( DIRECTORY_SEPARATOR, '/', $content_url );

		} else {
			$url = str_replace(
				array( WP_CONTENT_DIR, WP_PLUGIN_DIR ),
				array( WP_CONTENT_URL, WP_PLUGIN_URL ),
				$dir
			);
		}

		$url = set_url_scheme( $url );
		$url = apply_filters( 'cmb2_attached_posts_field_assets_url', $url );

		$requirements = array(
			'jquery-ui-core',
			'jquery-ui-widget',
			'jquery-ui-mouse',
			'jquery-ui-draggable',
			'jquery-ui-droppable',
			'jquery-ui-sortable',
			'wp-backbone',
		);

		wp_enqueue_script( 'cmb2-attached-posts-field', $url . 'js/attached-posts.js', $requirements, self::VERSION, true );
		wp_enqueue_style( 'cmb2-attached-posts-field', $url . 'css/attached-posts-admin.css', array(), self::VERSION );

		if ( ! $once ) {
			wp_localize_script( 'cmb2-attached-posts-field', 'CMBAP', array(
				'edit_link_template' => str_replace( get_the_ID(), 'REPLACEME', get_edit_post_link( get_the_ID() ) ),
				'ajaxurl'            => admin_url( 'admin-ajax.php', 'relative' ),
			) );

			$once = true;
		}
	}
protected static function setup_scripts ( ) { static $ once = false ; $ dir = CMB2_ATTACHED_POSTS_FIELD_DIR ; if ( 'WIN' === strtoupper ( substr ( PHP_OS , 0 , 3 ) ) ) { // Windows $ content_dir = str_replace ( '/' , DIRECTORY_SEPARATOR , WP_CONTENT_DIR ) ; $ content_url = str_replace ( $ content_dir , WP_CONTENT_URL , $ dir ) ; $ url = str_replace ( DIRECTORY_SEPARATOR , '/' , $ content_url ) ; } else { $ url = str_replace ( array ( WP_CONTENT_DIR , WP_PLUGIN_DIR ) , array ( WP_CONTENT_URL , WP_PLUGIN_URL ) , $ dir ) ; } $ url = set_url_scheme ( $ url ) ; $ url = apply_filters ( 'cmb2_attached_posts_field_assets_url' , $ url ) ; $ requirements = array ( 'jquery-ui-core' , 'jquery-ui-widget' , 'jquery-ui-mouse' , 'jquery-ui-draggable' , 'jquery-ui-droppable' , 'jquery-ui-sortable' , 'wp-backbone' , ) ; wp_enqueue_script ( 'cmb2-attached-posts-field' , $ url . 'js/attached-posts.js' , $ requirements , self :: VERSION , true ) ; wp_enqueue_style ( 'cmb2-attached-posts-field' , $ url . 'css/attached-posts-admin.css' , array ( ) , self :: VERSION ) ; if ( ! $ once ) { wp_localize_script ( 'cmb2-attached-posts-field' , 'CMBAP' , array ( 'edit_link_template' => str_replace ( get_the_ID ( ) , 'REPLACEME' , get_edit_post_link ( get_the_ID ( ) ) ) , 'ajaxurl' => admin_url ( 'admin-ajax.php' , 'relative' ) , ) ) ; $ once = true ; } }
Enqueue admin scripts for our attached posts field
Enqueue admin scripts for our attached posts field