Title: Plugin causes JS error which breaks admin pages
Last modified: August 21, 2016

---

# Plugin causes JS error which breaks admin pages

 *  Resolved [tsdexter](https://wordpress.org/support/users/tsdexter/)
 * (@tsdexter)
 * [12 years, 9 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/)
 * When I activate the plugin and the demo content I get a JavaScript error that
   causes me to not be able to switch between text/visual modes on the editor for
   pages as well the JS error causes other plugins admin JS files to not load since
   they’re included afterwards which breaks other unrelated functionality (specifically,
   visual composer doesn’t work).
 * I’ve deactivated visual composer entirely and the advanced post manager still
   causes the issue and I can’t switch between text/visual modes because of the 
   js error and presumably other js components won’t work as well but that’s the
   only thing I’ve tried thus far.
 * Seems like it has something to do with jquery – can you point me in the right
   direction to patch the plugin?
 * Here is the error:
 *     ```
       Uncaught TypeError: Cannot read property 'length' of undefined load-scripts.php?c=0&load%5B%5D=jquery,utils,plupload,plupload-html5,plupload-flash,plupload-silverlight,plupload-html4,json2&ver=3.5.2:2
       v.extend.each load-scripts.php?c=0&load%5B%5D=jquery,utils,plupload,plupload-html5,plupload-flash,plupload-silverlight,plupload-html4,json2&ver=3.5.2:2
       e.widget load-scripts.php?c=0&load%5B%5D=admin-bar,hoverIntent,common,schedule,wp-aj…wplink,wpdialogs-popup,wp-fullscreen,medi&load%5B%5D=a-upload&ver=3.5.2:69
       (anonymous function) load-scripts.php?c=0&load%5B%5D=admin-bar,hoverIntent,common,schedule,wp-aj…wplink,wpdialogs-popup,wp-fullscreen,medi&load%5B%5D=a-upload&ver=3.5.2:74
       (anonymous function) load-scripts.php?c=0&load%5B%5D=admin-bar,hoverIntent,common,schedule,wp-aj…wplink,wpdialogs-popup,wp-fullscreen,medi&load%5B%5D=a-upload&ver=3.5.2:74
       ```
   
 * [http://wordpress.org/plugins/advanced-post-manager/](http://wordpress.org/plugins/advanced-post-manager/)

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Thread Starter [tsdexter](https://wordpress.org/support/users/tsdexter/)
 * (@tsdexter)
 * [12 years, 9 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/#post-4056861)
 * I’ve found the reason. You are calling in WP default jQuery UI (version v1.9.2
   in WP 3.5) but you are using jQuery UI code that is deprecated in 1.9+
 * I’ve modified core files from Advanced Post Manager in order to rectify this.
   Can you please update the plugin and upload a new version so I don’t have to 
   run a version with modified core files? (or provide me with another fix that 
   doesn’t require modifying core).
 * I’ve modified:
 * ./lib/tribe-filters.class.php – starting at line 407
 * from:
 *     ```
       public function enqueue() {
       		global $current_screen;
       		$resources_url = apply_filters( 'tribe_apm_resources_url', $this->url . 'resources' );
       		$resources_url = trailingslashit($resources_url);
       		if ( $current_screen->id == 'edit-' . $this->filtered_post_type ) {
       			wp_enqueue_style('tribe-jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css');
       			wp_enqueue_script('tribe-jquery-ui-datepicker', $resources_url . 'jquery-ui-datepicker.js', array('jquery-ui-core'), null, true );
       			wp_enqueue_script('tribe-filters', $resources_url . 'tribe-filters.js', array('jquery-ui-sortable', 'tribe-jquery-ui-datepicker'), null, true );
       		}
       	}
       ```
   
 * To:
 *     ```
       public function enqueue() {
       		global $current_screen;
       		$resources_url = apply_filters( 'tribe_apm_resources_url', $this->url . 'resources' );
       		$resources_url = trailingslashit($resources_url);
       		if ( $current_screen->id == 'edit-' . $this->filtered_post_type ) {
       			wp_enqueue_style('tribe-jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css');
       			//georgiancode
       			wp_enqueue_script('old-jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js', array('jquery'), true);
       			//wp_enqueue_script('tribe-jquery-ui-datepicker', $resources_url . 'jquery-ui-datepicker.js', array('jquery-ui-core'), null, true );
       			wp_enqueue_script('tribe-jquery-ui-datepicker', $resources_url . 'jquery-ui-datepicker.js', array('old-jquery-ui'), null, true );
       			wp_enqueue_script('tribe-filters', $resources_url . 'tribe-filters.js', array('jquery-ui-sortable', 'tribe-jquery-ui-datepicker'), null, true );
       		}
       	}
       ```
   
 * ./lib/tribe-meta-box.php – starting at Line 58
 * from:
 *     ```
       function register_scripts_and_styles() {
       		// change '\' to '/' in case using Windows
       		$content_dir = str_replace('\\', '/', WP_CONTENT_DIR);
       		$script_dir = str_replace('\\', '/', dirname(__FILE__));
   
       		// get URL of the directory of current file, this works in both theme or plugin
       		$base_url = trailingslashit( str_replace($content_dir, WP_CONTENT_URL, $script_dir) );
       		$resources_url = apply_filters( 'tribe_apm_resources_url', $base_url . 'resources' );
       		$resources_url = trailingslashit($resources_url);
   
       		wp_register_style( 'tribe-meta-box', $resources_url . 'meta-box.css');
       		wp_register_script('tribe-meta-box', $resources_url . 'meta-box.js', array('jquery'), null, true);
   
       		wp_register_style('tribe-jquery-ui-css', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . self::get_jqueryui_ver() . '/themes/base/jquery-ui.css');
       		wp_register_script('tribe-jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/' . self::get_jqueryui_ver() . '/jquery-ui.min.js', array('jquery'));
       		wp_register_script('tribe-timepicker', 'https://github.com/trentrichardson/jQuery-Timepicker-Addon/raw/master/jquery-ui-timepicker-addon.js', array('tribe-jquery-ui'));
       	}
       ```
   
 * to:
 *     ```
       function register_scripts_and_styles() {
       		// change '\' to '/' in case using Windows
       		$content_dir = str_replace('\\', '/', WP_CONTENT_DIR);
       		$script_dir = str_replace('\\', '/', dirname(__FILE__));
   
       		// get URL of the directory of current file, this works in both theme or plugin
       		$base_url = trailingslashit( str_replace($content_dir, WP_CONTENT_URL, $script_dir) );
       		$resources_url = apply_filters( 'tribe_apm_resources_url', $base_url . 'resources' );
       		$resources_url = trailingslashit($resources_url);
   
       		wp_register_style( 'tribe-meta-box', $resources_url . 'meta-box.css');
       		wp_register_script('tribe-meta-box', $resources_url . 'meta-box.js', array('jquery'), null, true);
   
       		wp_register_style('tribe-jquery-ui-css', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . self::get_jqueryui_ver() . '/themes/base/jquery-ui.css');
       		//georgiancode
       		//wp_register_script('tribe-jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/' . self::get_jqueryui_ver() . '/jquery-ui.min.js', array('jquery'));
       		wp_register_script('tribe-old-jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js', array('jquery'));
       		wp_register_script('tribe-timepicker', 'https://github.com/trentrichardson/jQuery-Timepicker-Addon/raw/master/jquery-ui-timepicker-addon.js', array('tribe-jquery-ui'));
       	}
       ```
   
 * Let me know.
 * Thanks,
    Thomas
 *  Thread Starter [tsdexter](https://wordpress.org/support/users/tsdexter/)
 * (@tsdexter)
 * [12 years, 9 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/#post-4057049)
 * This fix has broken the datepicker. Investigating a better solution.
 *  Thread Starter [tsdexter](https://wordpress.org/support/users/tsdexter/)
 * (@tsdexter)
 * [12 years, 9 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/#post-4057053)
 * OK, here is the proper fix that should likely be included in the plugin. The 
   issue was that the plugin includes the wrong jquery-ui version.
 * The proper fix would be to change the function `get_jqueryui_ver(){...}`
 * From:
 *     ```
       // Get proper jQuery UI version to not conflict with WP admin scripts
       	static function get_jqueryui_ver() {
       		global $wp_version;
       		if (version_compare($wp_version, '3.1', '>=')) {
       			return '1.8.10';
       		} 
   
       		return '1.7.3';
       	}
       ```
   
 * To:
 *     ```
       // Get proper jQuery UI version to not conflict with WP admin scripts
       	static function get_jqueryui_ver() {
       		global $wp_version;
   
       		if (version_compare($wp_version, '3.5', '>=')) {
       			return '1.9.2';
       		}
   
       		if (version_compare($wp_version, '3.1', '>=')) {
       			return '1.8.10';
       		} 
   
       		return '1.7.3';
       	}
       ```
   
 * It looks like wordpress 3.5 increased the jquery-ui version to 1.9.2 and you 
   guys forgot to make that change in the plugin.
 * Thanks,
    Thomas
 *  Plugin Author [leahkoerper](https://wordpress.org/support/users/leahkoerper/)
 * (@leahkoerper)
 * [12 years, 5 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/#post-4057286)
 * Hey there,
 * I just wanted to let you know that a fix for this issue is included in our upcoming
   version 3.3. Keep an eye out on your WordPress Plugins page for an update. Thanks
   for your patience while we worked on this!
 * Cheers,
    Leah

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Plugin causes JS error which breaks admin pages’ is closed to new replies.

 * ![](https://ps.w.org/advanced-post-manager/assets/icon-256x256.png?rev=3155482)
 * [Advanced Post Manager](https://wordpress.org/plugins/advanced-post-manager/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/advanced-post-manager/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/advanced-post-manager/)
 * [Active Topics](https://wordpress.org/support/plugin/advanced-post-manager/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/advanced-post-manager/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/advanced-post-manager/reviews/)

 * 4 replies
 * 2 participants
 * Last reply from: [leahkoerper](https://wordpress.org/support/users/leahkoerper/)
 * Last activity: [12 years, 5 months ago](https://wordpress.org/support/topic/plugin-causes-js-error-which-breaks-admin-pages/#post-4057286)
 * Status: resolved