Title: Slider plugin causing fatal error?
Last modified: August 30, 2016

---

# Slider plugin causing fatal error?

 *  Resolved [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/)
 * Hi, i have just been setting up a wordpress site using a theme that had a slider
   plugin included, i was just about ready to launch the site and the last thing
   i did was create the slider and now when i try to access my admin panel or dashboard
   i get the following fatal error message
 * Fatal error: Call to undefined function request_filesystem_credentials() in /
   home/loveh237/public_html/wp-admin/includes/class-wp-upgrader-skins.php on line
   75
 * I need to get this site up today so any help would be greatly appreciated, and
   advice on an alternate slider plugin that i could try instead if you think that
   the slider is causing my error message? Thankyou so much, Steph

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

 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501099)
 * Can you provide a link to the website, or is it not live?
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501100)
 * Hi, its not live yet, it has an under construction plugin blocking it. It has
   been suggested that it is masterslider causing the error. What is strange is 
   that i have been trying all morning to access wordpress and just getting this
   error message, and then randomly one attempt was succesful and the site looked
   good with everything working, but when i tried to delete the plugin i got stuck
   behind the same fatal error screen.
    Fatal error: Call to undefined function 
   request_filesystem_credentials() in /home/loveh237/public_html/wp-admin/includes/
   class-wp-upgrader-skins.php on line 75 if i use the browsers back button i can
   back to my site preview, navigate around different pages etc, but everytime i
   try to “edit page” or go to dashboard etc i get the same error
 * I really appreciate your help, i am so stuck here and its ready to go live if
   i can just resolve this issue!!
    Thanks so much, Steph
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501101)
 * What is on line 75 of class-wp-upgrader-skins.php?
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501106)
 * Line 75 reads :
 * `return request_filesystem_credentials( $url, '', $error, $context, $extra_fields,
   $allow_relaxed_file_ownership );`
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501107)
 * Have you tried downloading WordPress and just replacing that file from a fresh
   wordpress download?
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501108)
 * No, im a complete novice with this sorry! How do i download a new version of 
   wordpress, i have simply used softaculous to install it for me on my domain so
   far, do i need to create a new file for it through file manager?
    thanks,
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501110)
 * Below is the code I have from a fresh copy of WP.
    Copy and paste all of that
   into the document via file manager.
 *     ```
       <?php
       /**
        * The User Interface "Skins" for the WordPress File Upgrader
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
   
       /**
        * Generic Skin for the WordPress Upgrader classes. This skin is designed to be extended for specific purposes.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
       class WP_Upgrader_Skin {
   
       	public $upgrader;
       	public $done_header = false;
       	public $done_footer = false;
       	public $result = false;
       	public $options = array();
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct($args = array()) {
       		$defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false );
       		$this->options = wp_parse_args($args, $defaults);
       	}
   
       	/**
       	 * @param WP_Upgrader $upgrader
       	 */
       	public function set_upgrader(&$upgrader) {
       		if ( is_object($upgrader) )
       			$this->upgrader =& $upgrader;
       		$this->add_strings();
       	}
   
       	/**
       	 * @access public
       	 */
       	public function add_strings() {
       	}
   
       	/**
       	 *
       	 * @param string|false|WP_Error $result
       	 */
       	public function set_result($result) {
       		$this->result = $result;
       	}
   
       	/**
       	 *
       	 * @param bool   $error
       	 * @param string $context
       	 * @param bool   $allow_relaxed_file_ownership
       	 * @return type
       	 */
       	public function request_filesystem_credentials( $error = false, $context = false, $allow_relaxed_file_ownership = false ) {
       		$url = $this->options['url'];
       		if ( ! $context ) {
       			$context = $this->options['context'];
       		}
       		if ( !empty($this->options['nonce']) ) {
       			$url = wp_nonce_url($url, $this->options['nonce']);
       		}
   
       		$extra_fields = array();
   
       		return request_filesystem_credentials( $url, '', $error, $context, $extra_fields, $allow_relaxed_file_ownership );
       	}
   
       	/**
       	 * @access public
       	 */
       	public function header() {
       		if ( $this->done_header ) {
       			return;
       		}
       		$this->done_header = true;
       		echo '<div class="wrap">';
       		echo '<h1>' . $this->options['title'] . '</h1>';
       	}
   
       	/**
       	 * @access public
       	 */
       	public function footer() {
       		if ( $this->done_footer ) {
       			return;
       		}
       		$this->done_footer = true;
       		echo '</div>';
       	}
   
       	/**
       	 *
       	 * @param string|WP_Error $errors
       	 */
       	public function error($errors) {
       		if ( ! $this->done_header )
       			$this->header();
       		if ( is_string($errors) ) {
       			$this->feedback($errors);
       		} elseif ( is_wp_error($errors) && $errors->get_error_code() ) {
       			foreach ( $errors->get_error_messages() as $message ) {
       				if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) )
       					$this->feedback($message . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ) );
       				else
       					$this->feedback($message);
       			}
       		}
       	}
   
       	/**
       	 *
       	 * @param string $string
       	 */
       	public function feedback($string) {
       		if ( isset( $this->upgrader->strings[$string] ) )
       			$string = $this->upgrader->strings[$string];
   
       		if ( strpos($string, '%') !== false ) {
       			$args = func_get_args();
       			$args = array_splice($args, 1);
       			if ( $args ) {
       				$args = array_map( 'strip_tags', $args );
       				$args = array_map( 'esc_html', $args );
       				$string = vsprintf($string, $args);
       			}
       		}
       		if ( empty($string) )
       			return;
       		show_message($string);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function before() {}
   
       	/**
       	 * @access public
       	 */
       	public function after() {}
   
       	/**
       	 * Output JavaScript that calls function to decrement the update counts.
       	 *
       	 * @since 3.9.0
       	 *
       	 * @param string $type Type of update count to decrement. Likely values include 'plugin',
       	 *                     'theme', 'translation', etc.
       	 */
       	protected function decrement_update_count( $type ) {
       		if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) {
       			return;
       		}
   
       		if ( defined( 'IFRAME_REQUEST' ) ) {
       			echo '<script type="text/javascript">
       					if ( window.postMessage && JSON ) {
       						window.parent.postMessage( JSON.stringify( { action: "decrementUpdateCount", upgradeType: "' . $type . '" } ), window.location.protocol + "//" + window.location.hostname );
       					}
       				</script>';
       		} else {
       			echo '<script type="text/javascript">
       					(function( wp ) {
       						if ( wp && wp.updates.decrementCount ) {
       							wp.updates.decrementCount( "' . $type . '" );
       						}
       					})( window.wp );
       				</script>';
       		}
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_header() {}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_footer() {}
       }
   
       /**
        * Plugin Upgrader Skin for WordPress Plugin Upgrades.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
       class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
       	public $plugin = '';
       	public $plugin_active = false;
       	public $plugin_network_active = false;
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct( $args = array() ) {
       		$defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') );
       		$args = wp_parse_args($args, $defaults);
   
       		$this->plugin = $args['plugin'];
   
       		$this->plugin_active = is_plugin_active( $this->plugin );
       		$this->plugin_network_active = is_plugin_active_for_network( $this->plugin );
   
       		parent::__construct($args);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function after() {
       		$this->plugin = $this->upgrader->plugin_info();
       		if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
       			echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) .'"></iframe>';
       		}
   
       		$this->decrement_update_count( 'plugin' );
   
       		$update_actions =  array(
       			'activate_plugin' => '<a href="' . wp_nonce_url( 'plugins.php?action=activate&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) . '" target="_parent">' . __( 'Activate Plugin' ) . '</a>',
       			'plugins_page' => '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>'
       		);
       		if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugins' ) )
       			unset( $update_actions['activate_plugin'] );
   
       		/**
       		 * Filter the list of action links available following a single plugin update.
       		 *
       		 * @since 2.7.0
       		 *
       		 * @param array  $update_actions Array of plugin action links.
       		 * @param string $plugin         Path to the plugin file.
       		 */
       		$update_actions = apply_filters( 'update_plugin_complete_actions', $update_actions, $this->plugin );
   
       		if ( ! empty($update_actions) )
       			$this->feedback(implode(' | ', (array)$update_actions));
       	}
       }
   
       /**
        * Plugin Upgrader Skin for WordPress Plugin Upgrades.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 3.0.0
        */
       class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
       	public $in_loop = false;
       	/**
       	 * @var string|false
       	 */
       	public $error = false;
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct($args = array()) {
       		$defaults = array( 'url' => '', 'nonce' => '' );
       		$args = wp_parse_args($args, $defaults);
   
       		parent::__construct($args);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function add_strings() {
       		$this->upgrader->strings['skin_upgrade_start'] = __('The update process is starting. This process may take a while on some hosts, so please be patient.');
       		$this->upgrader->strings['skin_update_failed_error'] = __('An error occurred while updating %1$s: <strong>%2$s</strong>');
       		$this->upgrader->strings['skin_update_failed'] = __('The update of %1$s failed.');
       		$this->upgrader->strings['skin_update_successful'] = __( '%1$s updated successfully.' ) . ' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>' . __( 'Show Details' ) . '</span><span class="hidden">' . __( 'Hide Details' ) . '</span></a>';
       		$this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
       	}
   
       	/**
       	 * @param string $string
       	 */
       	public function feedback($string) {
       		if ( isset( $this->upgrader->strings[$string] ) )
       			$string = $this->upgrader->strings[$string];
   
       		if ( strpos($string, '%') !== false ) {
       			$args = func_get_args();
       			$args = array_splice($args, 1);
       			if ( $args ) {
       				$args = array_map( 'strip_tags', $args );
       				$args = array_map( 'esc_html', $args );
       				$string = vsprintf($string, $args);
       			}
       		}
       		if ( empty($string) )
       			return;
       		if ( $this->in_loop )
       			echo "$string<br />\n";
       		else
       			echo "<p>$string</p>\n";
       	}
   
       	/**
       	 * @access public
       	 */
       	public function header() {
       		// Nothing, This will be displayed within a iframe.
       	}
   
       	/**
       	 * @access public
       	 */
       	public function footer() {
       		// Nothing, This will be displayed within a iframe.
       	}
   
       	/**
       	 *
       	 * @param string|WP_Error $error
       	 */
       	public function error($error) {
       		if ( is_string($error) && isset( $this->upgrader->strings[$error] ) )
       			$this->error = $this->upgrader->strings[$error];
   
       		if ( is_wp_error($error) ) {
       			$messages = array();
       			foreach ( $error->get_error_messages() as $emessage ) {
       				if ( $error->get_error_data() && is_string( $error->get_error_data() ) )
       					$messages[] = $emessage . ' ' . esc_html( strip_tags( $error->get_error_data() ) );
       				else
       					$messages[] = $emessage;
       			}
       			$this->error = implode(', ', $messages);
       		}
       		echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_header() {
       		$this->feedback('skin_upgrade_start');
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_footer() {
       		$this->feedback('skin_upgrade_end');
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function before($title = '') {
       		$this->in_loop = true;
       		printf( '<h4>' . $this->upgrader->strings['skin_before_update_header'] . ' <span class="spinner waiting-' . $this->upgrader->update_current . '"></span></h4>',  $title, $this->upgrader->update_current, $this->upgrader->update_count);
       		echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').css("display", "inline-block");</script>';
       		echo '<div class="update-messages hide-if-js" id="progress-' . esc_attr($this->upgrader->update_current) . '"><p>';
       		$this->flush_output();
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function after($title = '') {
       		echo '</p></div>';
       		if ( $this->error || ! $this->result ) {
       			if ( $this->error )
       				echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed_error'], $title, $this->error) . '</p></div>';
       			else
       				echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed'], $title) . '</p></div>';
   
       			echo '<script type="text/javascript">jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').show();</script>';
       		}
       		if ( $this->result && ! is_wp_error( $this->result ) ) {
       			if ( ! $this->error )
       				echo '<div class="updated"><p>' . sprintf($this->upgrader->strings['skin_update_successful'], $title, 'jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').toggle();jQuery(\'span\', this).toggle(); return false;') . '</p></div>';
       			echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
       		}
   
       		$this->reset();
       		$this->flush_output();
       	}
   
       	/**
       	 * @access public
       	 */
       	public function reset() {
       		$this->in_loop = false;
       		$this->error = false;
       	}
   
       	/**
       	 * @access public
       	 */
       	public function flush_output() {
       		wp_ob_end_flush_all();
       		flush();
       	}
       }
   
       class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
       	public $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
   
       	public function add_strings() {
       		parent::add_strings();
       		$this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function before($title = '') {
       		parent::before($this->plugin_info['Title']);
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function after($title = '') {
       		parent::after($this->plugin_info['Title']);
       		$this->decrement_update_count( 'plugin' );
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_footer() {
       		parent::bulk_footer();
       		$update_actions =  array(
       			'plugins_page' => '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>',
       			'updates_page' => '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>'
       		);
       		if ( ! current_user_can( 'activate_plugins' ) )
       			unset( $update_actions['plugins_page'] );
   
       		/**
       		 * Filter the list of action links available following bulk plugin updates.
       		 *
       		 * @since 3.0.0
       		 *
       		 * @param array $update_actions Array of plugin action links.
       		 * @param array $plugin_info    Array of information for the last-updated plugin.
       		 */
       		$update_actions = apply_filters( 'update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info );
   
       		if ( ! empty($update_actions) )
       			$this->feedback(implode(' | ', (array)$update_actions));
       	}
       }
   
       class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
       	public $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
   
       	public function add_strings() {
       		parent::add_strings();
       		$this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function before($title = '') {
       		parent::before( $this->theme_info->display('Name') );
       	}
   
       	/**
       	 *
       	 * @param string $title
       	 */
       	public function after($title = '') {
       		parent::after( $this->theme_info->display('Name') );
       		$this->decrement_update_count( 'theme' );
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_footer() {
       		parent::bulk_footer();
       		$update_actions =  array(
       			'themes_page' => '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>',
       			'updates_page' => '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>'
       		);
       		if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) )
       			unset( $update_actions['themes_page'] );
   
       		/**
       		 * Filter the list of action links available following bulk theme updates.
       		 *
       		 * @since 3.0.0
       		 *
       		 * @param array $update_actions Array of theme action links.
       		 * @param array $theme_info     Array of information for the last-updated theme.
       		 */
       		$update_actions = apply_filters( 'update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
   
       		if ( ! empty($update_actions) )
       			$this->feedback(implode(' | ', (array)$update_actions));
       	}
       }
   
       /**
        * Plugin Installer Skin for WordPress Plugin Installer.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
       class Plugin_Installer_Skin extends WP_Upgrader_Skin {
       	public $api;
       	public $type;
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct($args = array()) {
       		$defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' );
       		$args = wp_parse_args($args, $defaults);
   
       		$this->type = $args['type'];
       		$this->api = isset($args['api']) ? $args['api'] : array();
   
       		parent::__construct($args);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function before() {
       		if ( !empty($this->api) )
       			$this->upgrader->strings['process_success'] = sprintf( __('Successfully installed the plugin <strong>%s %s</strong>.'), $this->api->name, $this->api->version);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function after() {
       		$plugin_file = $this->upgrader->plugin_info();
   
       		$install_actions = array();
   
       		$from = isset($_GET['from']) ? wp_unslash( $_GET['from'] ) : 'plugins';
   
       		if ( 'import' == $from )
       			$install_actions['activate_plugin'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&from=import&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Activate Plugin & Run Importer' ) . '</a>';
       		else
       			$install_actions['activate_plugin'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Activate Plugin' ) . '</a>';
   
       		if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
       			$install_actions['network_activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&networkwide=1&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Network Activate' ) . '</a>';
       			unset( $install_actions['activate_plugin'] );
       		}
   
       		if ( 'import' == $from ) {
       			$install_actions['importers_page'] = '<a href="' . admin_url( 'import.php' ) . '" target="_parent">' . __( 'Return to Importers' ) . '</a>';
       		} elseif ( $this->type == 'web' ) {
       			$install_actions['plugins_page'] = '<a href="' . self_admin_url( 'plugin-install.php' ) . '" target="_parent">' . __( 'Return to Plugin Installer' ) . '</a>';
       		} else {
       			$install_actions['plugins_page'] = '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>';
       		}
   
       		if ( ! $this->result || is_wp_error($this->result) ) {
       			unset( $install_actions['activate_plugin'], $install_actions['network_activate'] );
       		} elseif ( ! current_user_can( 'activate_plugins' ) ) {
       			unset( $install_actions['activate_plugin'] );
       		}
   
       		/**
       		 * Filter the list of action links available following a single plugin installation.
       		 *
       		 * @since 2.7.0
       		 *
       		 * @param array  $install_actions Array of plugin action links.
       		 * @param object $api             Object containing WordPress.org API plugin data. Empty
       		 *                                for non-API installs, such as when a plugin is installed
       		 *                                via upload.
       		 * @param string $plugin_file     Path to the plugin file.
       		 */
       		$install_actions = apply_filters( 'install_plugin_complete_actions', $install_actions, $this->api, $plugin_file );
   
       		if ( ! empty($install_actions) )
       			$this->feedback(implode(' | ', (array)$install_actions));
       	}
       }
   
       /**
        * Theme Installer Skin for the WordPress Theme Installer.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
       class Theme_Installer_Skin extends WP_Upgrader_Skin {
       	public $api;
       	public $type;
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct($args = array()) {
       		$defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' );
       		$args = wp_parse_args($args, $defaults);
   
       		$this->type = $args['type'];
       		$this->api = isset($args['api']) ? $args['api'] : array();
   
       		parent::__construct($args);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function before() {
       		if ( !empty($this->api) )
       			$this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function after() {
       		if ( empty($this->upgrader->result['destination_name']) )
       			return;
   
       		$theme_info = $this->upgrader->theme_info();
       		if ( empty( $theme_info ) )
       			return;
   
       		$name       = $theme_info->display('Name');
       		$stylesheet = $this->upgrader->result['destination_name'];
       		$template   = $theme_info->get_template();
   
       		$activate_link = add_query_arg( array(
       			'action'     => 'activate',
       			'template'   => urlencode( $template ),
       			'stylesheet' => urlencode( $stylesheet ),
       		), admin_url('themes.php') );
       		$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
   
       		$install_actions = array();
   
       		if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
       			$install_actions['preview'] = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Live Preview' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Live Preview “%s”' ), $name ) . '</span></a>';
       		}
       		$install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink"><span aria-hidden="true">' . __( 'Activate' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Activate “%s”' ), $name ) . '</span></a>';
   
       		if ( is_network_admin() && current_user_can( 'manage_network_themes' ) )
       			$install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
   
       		if ( $this->type == 'web' )
       			$install_actions['themes_page'] = '<a href="' . self_admin_url( 'theme-install.php' ) . '" target="_parent">' . __( 'Return to Theme Installer' ) . '</a>';
       		elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
       			$install_actions['themes_page'] = '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>';
   
       		if ( ! $this->result || is_wp_error($this->result) || is_network_admin() || ! current_user_can( 'switch_themes' ) )
       			unset( $install_actions['activate'], $install_actions['preview'] );
   
       		/**
       		 * Filter the list of action links available following a single theme installation.
       		 *
       		 * @since 2.8.0
       		 *
       		 * @param array    $install_actions Array of theme action links.
       		 * @param object   $api             Object containing WordPress.org API theme data.
       		 * @param string   $stylesheet      Theme directory name.
       		 * @param WP_Theme $theme_info      Theme object.
       		 */
       		$install_actions = apply_filters( 'install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info );
       		if ( ! empty($install_actions) )
       			$this->feedback(implode(' | ', (array)$install_actions));
       	}
       }
   
       /**
        * Theme Upgrader Skin for WordPress Theme Upgrades.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 2.8.0
        */
       class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
       	public $theme = '';
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct($args = array()) {
       		$defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') );
       		$args = wp_parse_args($args, $defaults);
   
       		$this->theme = $args['theme'];
   
       		parent::__construct($args);
       	}
   
       	/**
       	 * @access public
       	 */
       	public function after() {
       		$this->decrement_update_count( 'theme' );
   
       		$update_actions = array();
       		if ( ! empty( $this->upgrader->result['destination_name'] ) && $theme_info = $this->upgrader->theme_info() ) {
       			$name       = $theme_info->display('Name');
       			$stylesheet = $this->upgrader->result['destination_name'];
       			$template   = $theme_info->get_template();
   
       			$activate_link = add_query_arg( array(
       				'action'     => 'activate',
       				'template'   => urlencode( $template ),
       				'stylesheet' => urlencode( $stylesheet ),
       			), admin_url('themes.php') );
       			$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
   
       			if ( get_stylesheet() == $stylesheet ) {
       				if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
       					$update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Customize' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Customize “%s”' ), $name ) . '</span></a>';
       				}
       			} elseif ( current_user_can( 'switch_themes' ) ) {
       				if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
       					$update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Live Preview' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Live Preview “%s”' ), $name ) . '</span></a>';
       				}
       				$update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink"><span aria-hidden="true">' . __( 'Activate' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Activate “%s”' ), $name ) . '</span></a>';
       			}
   
       			if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() )
       				unset( $update_actions['preview'], $update_actions['activate'] );
       		}
   
       		$update_actions['themes_page'] = '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>';
   
       		/**
       		 * Filter the list of action links available following a single theme update.
       		 *
       		 * @since 2.8.0
       		 *
       		 * @param array  $update_actions Array of theme action links.
       		 * @param string $theme          Theme directory name.
       		 */
       		$update_actions = apply_filters( 'update_theme_complete_actions', $update_actions, $this->theme );
   
       		if ( ! empty($update_actions) )
       			$this->feedback(implode(' | ', (array)$update_actions));
       	}
       }
   
       /**
        * Translation Upgrader Skin for WordPress Translation Upgrades.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 3.7.0
        */
       class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
       	public $language_update = null;
       	public $done_header = false;
       	public $done_footer = false;
       	public $display_footer_actions = true;
   
       	/**
       	 *
       	 * @param array $args
       	 */
       	public function __construct( $args = array() ) {
       		$defaults = array( 'url' => '', 'nonce' => '', 'title' => __( 'Update Translations' ), 'skip_header_footer' => false );
       		$args = wp_parse_args( $args, $defaults );
       		if ( $args['skip_header_footer'] ) {
       			$this->done_header = true;
       			$this->done_footer = true;
       			$this->display_footer_actions = false;
       		}
       		parent::__construct( $args );
       	}
   
       	/**
       	 * @access public
       	 */
       	public function before() {
       		$name = $this->upgrader->get_name_for_update( $this->language_update );
   
       		echo '<div class="update-messages lp-show-latest">';
   
       		printf( '<h4>' . __( 'Updating translations for %1$s (%2$s)…' ) . '</h4>', $name, $this->language_update->language );
       	}
   
       	/**
       	 *
       	 * @param string|WP_Error $error
       	 */
       	public function error( $error ) {
       		echo '<div class="lp-error">';
       		parent::error( $error );
       		echo '</div>';
       	}
   
       	/**
       	 * @access public
       	 */
       	public function after() {
       		echo '</div>';
       	}
   
       	/**
       	 * @access public
       	 */
       	public function bulk_footer() {
       		$this->decrement_update_count( 'translation' );
       		$update_actions = array();
       		$update_actions['updates_page'] = '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>';
   
       		/**
       		 * Filter the list of action links available following a translations update.
       		 *
       		 * @since 3.7.0
       		 *
       		 * @param array $update_actions Array of translations update links.
       		 */
       		$update_actions = apply_filters( 'update_translations_complete_actions', $update_actions );
   
       		if ( $update_actions && $this->display_footer_actions )
       			$this->feedback( implode( ' | ', $update_actions ) );
       	}
       }
   
       /**
        * Upgrader Skin for Automatic WordPress Upgrades
        *
        * This skin is designed to be used when no output is intended, all output
        * is captured and stored for the caller to process and log/email/discard.
        *
        * @package WordPress
        * @subpackage Upgrader
        * @since 3.7.0
        */
       class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
       	protected $messages = array();
   
       	/**
       	 *
       	 * @param bool   $error
       	 * @param string $context
       	 * @param bool   $allow_relaxed_file_ownership
       	 * @return bool
       	 */
       	public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) {
       		if ( $context ) {
       			$this->options['context'] = $context;
       		}
       		// TODO: fix up request_filesystem_credentials(), or split it, to allow us to request a no-output version
       		// This will output a credentials form in event of failure, We don't want that, so just hide with a buffer
       		ob_start();
       		$result = parent::request_filesystem_credentials( $error, $context, $allow_relaxed_file_ownership );
       		ob_end_clean();
       		return $result;
       	}
   
       	/**
       	 * @access public
       	 *
       	 * @return array
       	 */
       	public function get_upgrade_messages() {
       		return $this->messages;
       	}
   
       	/**
       	 * @param string|array|WP_Error $data
       	 */
       	public function feedback( $data ) {
       		if ( is_wp_error( $data ) ) {
       			$string = $data->get_error_message();
       		} elseif ( is_array( $data ) ) {
       			return;
       		} else {
       			$string = $data;
       		}
       		if ( ! empty( $this->upgrader->strings[ $string ] ) )
       			$string = $this->upgrader->strings[ $string ];
   
       		if ( strpos( $string, '%' ) !== false ) {
       			$args = func_get_args();
       			$args = array_splice( $args, 1 );
       			if ( ! empty( $args ) )
       				$string = vsprintf( $string, $args );
       		}
   
       		$string = trim( $string );
   
       		// Only allow basic HTML in the messages, as it'll be used in emails/logs rather than direct browser output.
       		$string = wp_kses( $string, array(
       			'a' => array(
       				'href' => true
       			),
       			'br' => true,
       			'em' => true,
       			'strong' => true,
       		) );
   
       		if ( empty( $string ) )
       			return;
   
       		$this->messages[] = $string;
       	}
   
       	/**
       	 * @access public
       	 */
       	public function header() {
       		ob_start();
       	}
   
       	/**
       	 * @access public
       	 */
       	public function footer() {
       		$output = ob_get_clean();
       		if ( ! empty( $output ) )
       			$this->feedback( $output );
       	}
       }
       ```
   
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501111)
 * Thankyou, i replaced it and saved it, is there another step? I still get same
   error message when trying to access my site
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501113)
 * I was hoping that would fix the problem. There’s only so much I can suggest without
   access to the site. I think I’m out of my depth. Sorry [@amokdesign](https://wordpress.org/support/users/amokdesign/)
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501114)
 * Thankyou so much for your help, im way out of my depth! You dont know anything
   about renaming the masterslider plugin or anything do you to disable it?
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501115)
 * No problem.
 * Oh my gosh, why didn’t I already suggest that? I must be tired, it’s almost midnight
   here…
 * Anyway, if you go to file manager and then to the home folder then go to ‘wp-
   content’ folder, then you can rename the ‘plugins’ folder to ‘plugins-old’ then
   that will deactivate all of your plugins. This will not harm anything, or delete
   any data, it will simply deactivate them.
 * Then test out your site, and make sure you’re not getting the same error. If 
   you aren’t then you know it’s a plugin that’s messing with the site. I then create(
   in the ‘wp-content’ folder) a new folder called ‘plugins’ and then drag and drop
   all but the defective (or the one you think is defective) into the ‘plugins’ 
   folder you just created. Then log into WP Dashboard (if you can) and activate
   all of those plugins (you won’t see the master slider plugin). If everything 
   is still working without that ‘MasterSlider’ plugin, reply back here.
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501116)
 * Thankyou so much!!! I’ve removed masterslider and everything seems to work fine
   now … do you know of any other plugins that would give me a nice slider to try
   and replace it? or should i just try renstalling it now there is a newer version
   available? by all means please go to sleep if you need to! i at least have my
   site back now thankyou!!
 *  [jakedohm](https://wordpress.org/support/users/jakedohm/)
 * (@jakedohm)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501117)
 * You can use any of the following:
 * Soliloquy Lite: [https://wordpress.org/plugins/soliloquy-lite/](https://wordpress.org/plugins/soliloquy-lite/)
   
   Meta Slider: [https://wordpress.org/plugins/ml-slider/](https://wordpress.org/plugins/ml-slider/)
 * And my personal favorite, but a paid option:
    LayerSlider: [http://codecanyon.net/item/layerslider-responsive-wordpress-slider-plugin-/1362246](http://codecanyon.net/item/layerslider-responsive-wordpress-slider-plugin-/1362246)
 * Let me know if you have any questions about those three sliders, I’ll be glad
   to help.
 * PS: If you wish to post the URL to your site here when it’s live, please do. 
   I’d love to see what you’ve been working on 🙂
 * EDIT: To answer your other question, you can probably just install MasterSlider
   again if you’d like, but seeing as it’s given you this much trouble, I would 
   go with Soliloquy lite or LayerSlider if you’ve got the cash.
 *  Thread Starter [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * (@amokdesign)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501324)
 * Hi ! Thankyou so much for all your help, im really new at this and was in such
   a panic trying to get the site up i forgot to come back here to thank you or 
   close the thread! I appreciate your help so much. It turned out to be an issue
   with wordpress updating and not being compatible with my theme. My theme has 
   since released an update but im a bit nervous about updating it now that its 
   live! I still have a bit of work to do on it and need to resolve the slider but
   its doing the job for the time being.
 * [ if you want to take a peek. Thanks again!
    Steph

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

The topic ‘Slider plugin causing fatal error?’ is closed to new replies.

## Tags

 * [fatal error](https://wordpress.org/support/topic-tag/fatal-error/)
 * [slider error](https://wordpress.org/support/topic-tag/slider-error/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 14 replies
 * 2 participants
 * Last reply from: [amokdesign](https://wordpress.org/support/users/amokdesign/)
 * Last activity: [10 years, 8 months ago](https://wordpress.org/support/topic/slider-plugin-causing-fatal-error/#post-6501324)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
