errors = new WP_Error(); } /** * Retrieves the list of errors. * * @since 4.6.0 * @access public * * @return WP_Error Errors during an upgrade. */ public function get_errors() { return $this->errors; } /** * Retrieves a string for error messages. * * @since 4.6.0 * @access public * * @return string Error messages during an upgrade. */ public function get_error_messages() { $messages = array(); foreach ( $this->errors->get_error_codes() as $error_code ) { if ( $this->errors->get_error_data( $error_code ) && is_string( $this->errors->get_error_data( $error_code ) ) ) { $messages[] = $this->errors->get_error_message( $error_code ) . ' ' . esc_html( strip_tags( $this->errors->get_error_data( $error_code ) ) ); } else { $messages[] = $this->errors->get_error_message( $error_code ); } } return implode( ', ', $messages ); } /** * Stores a log entry for an error. * * @since 4.6.0 * @access public * * @param string|WP_Error $errors Errors. */ public function error( $errors ) { if ( is_string( $errors ) ) { $string = $errors; if ( ! empty( $this->upgrader->strings[ $string ] ) ) { $string = $this->upgrader->strings[ $string ]; } if ( false !== strpos( $string, '%' ) ) { $args = func_get_args(); $args = array_splice( $args, 1 ); if ( ! empty( $args ) ) { $string = vsprintf( $string, $args ); } } // Count existing errors to generate an unique error code. $errors_count = count( $errors->get_error_codes() ); $this->errors->add( 'unknown_upgrade_error_' . $errors_count + 1 , $string ); } elseif ( is_wp_error( $errors ) ) { foreach ( $errors->get_error_codes() as $error_code ) { $this->errors->add( $error_code, $errors->get_error_message( $error_code ), $errors->get_error_data( $error_code ) ); } } $args = func_get_args(); call_user_func_array( array( $this, 'parent::error' ), $args ); } /** * Stores a log entry. * * @since 4.6.0 * @access public * * @param string|array|WP_Error $data Log entry data. */ public function feedback( $data ) { if ( is_wp_error( $data ) ) { foreach ( $data->get_error_codes() as $error_code ) { $this->errors->add( $error_code, $data->get_error_message( $error_code ), $data->get_error_data( $error_code ) ); } } $args = func_get_args(); call_user_func_array( array( $this, 'parent::feedback' ), $args ); } }