• Resolved amokdesign

    (@amokdesign)


    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)
  • Can you provide a link to the website, or is it not live?

    Thread Starter amokdesign

    (@amokdesign)

    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

    What is on line 75 of class-wp-upgrader-skins.php?

    Thread Starter amokdesign

    (@amokdesign)

    Line 75 reads :

    return request_filesystem_credentials( $url, '', $error, $context, $extra_fields, $allow_relaxed_file_ownership );

    Have you tried downloading WordPress and just replacing that file from a fresh wordpress download?

    Thread Starter amokdesign

    (@amokdesign)

    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,

    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 www.ads-software.com 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 www.ads-software.com 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

    (@amokdesign)

    Thankyou, i replaced it and saved it, is there another step? I still get same error message when trying to access my site

    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

    Thread Starter amokdesign

    (@amokdesign)

    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?

    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

    (@amokdesign)

    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!!

    You can use any of the following:

    Soliloquy Lite: https://www.ads-software.com/plugins/soliloquy-lite/
    Meta Slider: https://www.ads-software.com/plugins/ml-slider/

    And my personal favorite, but a paid option:
    LayerSlider: https://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

    (@amokdesign)

    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.