WordPress.org

Make WordPress Core

Ticket #2600: wp_error.diff

File wp_error.diff, 1.2 KB (added by ryan, 12 years ago)

WP_Error and is_wp_error()

  • wp-includes/classes.php

     
    339339        }
    340340}
    341341
     342class WP_Error {
     343        var $errors = array();
     344
     345        function IXR_Error($code = '', $message = '') {
     346                if ( ! empty($code) )
     347                        $this->errors[$code][] = $message;
     348        }
     349
     350        function get_error_codes() {
     351                if ( empty($this->errors) )
     352                        return array();
     353
     354                return array_keys($this->errors);
     355        }
     356
     357        function get_error_code() {
     358                $codes = $this->get_error_codes();
     359
     360                if ( empty($codes) )
     361                        return '';
     362
     363                return $codes[0];       
     364        }
     365
     366        function get_error_messages($code) {
     367                if ( isset($this->errors[$code]) )
     368                        return $this->errors[$code];
     369                else
     370                        return array();
     371        }
     372
     373        function get_error_message($code = '') {
     374                if ( empty($code) )
     375                        $code = $this->get_error_code();
     376                $messages = $this->get_error_messages($code);
     377                if ( empty($messages) )
     378                        return '';
     379                return $messages[0];
     380        }
     381
     382        function add($code, $message) {
     383                $this->errors[$code][] = $message;     
     384        }
     385}
     386
     387function is_wp_error($thing) {
     388        if ( is_object($thing) && is_a($thing, 'WP_Error') )
     389                return true;
     390        return false;
     391}
     392
    342393?>