I encounter the very same message after upgrading to 3.7…
I’ve just updated an unrelated plugin, and seen this error too
The update process is starting. This process may take a while on some hosts, so please be patient.
Enabling Maintenance mode…
Updating Plugin Broken Link Checker (1/1)
Broken Link Checker updated successfully. Show Details.
Disabling Maintenance mode…
Warning: Missing argument 3 for wpseo_upgrader_process_complete() in /home/.../public_html/.../wordpress/wp-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php on line 259
All updates have been completed.
Zee
(@laserjobs)
It would be this function:
Specifically line 259 is “function wpseo_upgrader_process_complete( $upgrader_object, $context_array, $themes ) {
$options = get_option( ‘wpseo’ );”
/**
* Check if the current theme was updated and if so, test the updated theme
* for the meta description tag
*
* @since 1.4.14
*
* @return void
*/
function wpseo_upgrader_process_complete( $upgrader_object, $context_array, $themes ) {
$options = get_option( 'wpseo' );
// Break if admin_notice already in place
if ( isset( $options['meta_description_warning'] ) && true === $options['meta_description_warning'] ) {
return;
}
// Break if this is not a theme update, not interested in installs as after_switch_theme would still be called
if ( $context_array['type'] !== 'theme' || $context_array['action'] !== 'update' ) {
return;
}
$theme = get_stylesheet();
if ( ( isset( $context_array['bulk'] ) && $context_array['bulk'] === true ) && ( is_array( $themes ) && count( $themes ) > 0 ) ) {
if ( in_array( $theme, $themes ) ) {
wpseo_description_test();
}
}
else if ( $themes === $theme ) {
wpseo_description_test();
}
return;
}
I can confirm this’s happening after the last WP update
I’m getting this message also when I’m uploading/adding a new plugin. When I disable Yoast and upload a plugin I don’t get error message.
Zee
(@laserjobs)
I am guessing it is checking a theme for the meta description tag and probably does not create any issues but throwing that error code.
Yep.
Took out two of my sites. one of them is buggy at the minute and the other is just all over the place.
Patching line 259 of /wp-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php as follows stops the error – but the function does nothing so may as well wait for Yoast to fix this if you can live with the warning message.
function wpseo_upgrader_process_complete( $upgrader_object, $context_array, $themes = array() ) {
The reason for the failure is that WordPress 3.7 is only passing 2 parameters instead of 3 on a completion of an upgrade in file /wp-admin/includes/class-wp-upgrader.php
In WordPress 3.6.1 we had do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'theme' ), $theme ); //3 parameters
In WordPress 3.7 we have do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ) ); // only 2 parameters
I suspect a few other plugins will hit this problem too.