* @var array
* @access private
*/
- var $errors = array();
+ private $errors = array();
/**
* Stores the list of data for error codes.
* @var array
* @access private
*/
- var $error_data = array();
+ private $error_data = array();
/**
- * Constructor - Sets up error message.
+ * Initialize the error.
*
- * If code parameter is empty then nothing will be done. It is possible to
- * add multiple messages to the same code, but with other methods in the
- * class.
+ * If `$code` is empty, the other parameters will be ignored.
+ * When `$code` is not empty, `$message` will be used even if
+ * it is empty. The `$data` parameter will be used only if it
+ * is not empty.
*
- * All parameters are optional, but if the code parameter is set, then the
- * data parameter is optional.
+ * Though the class is constructed with a single error code and
+ * message, multiple codes can be added using the `add()` method.
*
* @since 2.1.0
*
* @param mixed $data Optional. Error data.
* @return WP_Error
*/
- function __construct($code = '', $message = '', $data = '') {
+ public function __construct( $code = '', $message = '', $data = '' ) {
if ( empty($code) )
return;
$this->error_data[$code] = $data;
}
+ /**
+ * Make private properties readable for backwards compatibility.
+ *
+ * @since 4.0.0
+ * @access public
+ *
+ * @param string $name Property to get.
+ * @return mixed Property.
+ */
+ public function __get( $name ) {
+ return $this->$name;
+ }
+
+ /**
+ * Make private properties settable for backwards compatibility.
+ *
+ * @since 4.0.0
+ * @access public
+ *
+ * @param string $name Property to set.
+ * @param mixed $value Property value.
+ * @return mixed Newly-set property.
+ */
+ public function __set( $name, $value ) {
+ return $this->$name = $value;
+ }
+
+ /**
+ * Make private properties checkable for backwards compatibility.
+ *
+ * @since 4.0.0
+ * @access public
+ *
+ * @param string $name Property to check if set.
+ * @return bool Whether the property is set.
+ */
+ public function __isset( $name ) {
+ return isset( $this->$name );
+ }
+
+ /**
+ * Make private properties un-settable for backwards compatibility.
+ *
+ * @since 4.0.0
+ * @access public
+ *
+ * @param string $name Property to unset.
+ */
+ public function __unset( $name ) {
+ unset( $this->$name );
+ }
+
/**
* Retrieve all error codes.
*
*
* @return array List of error codes, if available.
*/
- function get_error_codes() {
+ public function get_error_codes() {
if ( empty($this->errors) )
return array();
*
* @return string|int Empty string, if no error codes.
*/
- function get_error_code() {
+ public function get_error_code() {
$codes = $this->get_error_codes();
if ( empty($codes) )
* @param string|int $code Optional. Retrieve messages matching code, if exists.
* @return array Error strings on success, or empty array on failure (if using code parameter).
*/
- function get_error_messages($code = '') {
+ public function get_error_messages($code = '') {
// Return all messages if no code specified.
if ( empty($code) ) {
$all_messages = array();
* @param string|int $code Optional. Error code to retrieve message.
* @return string
*/
- function get_error_message($code = '') {
+ public function get_error_message($code = '') {
if ( empty($code) )
$code = $this->get_error_code();
$messages = $this->get_error_messages($code);
* @param string|int $code Optional. Error code.
* @return mixed Null, if no errors.
*/
- function get_error_data($code = '') {
+ public function get_error_data($code = '') {
if ( empty($code) )
$code = $this->get_error_code();
}
/**
- * Append more error messages to list of error messages.
+ * Add an error or append additional message to an existing error.
*
* @since 2.1.0
* @access public
* @param string $message Error message.
* @param mixed $data Optional. Error data.
*/
- function add($code, $message, $data = '') {
+ public function add($code, $message, $data = '') {
$this->errors[$code][] = $message;
if ( ! empty($data) )
$this->error_data[$code] = $data;
* @param mixed $data Error data.
* @param string|int $code Error code.
*/
- function add_data($data, $code = '') {
+ public function add_data($data, $code = '') {
if ( empty($code) )
$code = $this->get_error_code();
$this->error_data[$code] = $data;
}
+
+ /**
+ * Removes the specified error.
+ *
+ * This function removes all error messages associated with the specified
+ * error code, along with any error data for that code.
+ *
+ * @since 4.1.0
+ *
+ * @param string|int $code Error code.
+ */
+ public function remove( $code ) {
+ unset( $this->errors[ $code ] );
+ unset( $this->error_data[ $code ] );
+ }
}
/**
* Check whether variable is a WordPress Error.
*
- * Looks at the object and if a WP_Error class. Does not check to see if the
- * parent is also WP_Error, so can't inherit WP_Error and still use this
- * function.
+ * Returns true if $thing is an object of the WP_Error class.
*
* @since 2.1.0
*
- * @param mixed $thing Check if unknown variable is WordPress Error object.
+ * @param mixed $thing Check if unknown variable is a WP_Error object.
* @return bool True, if WP_Error. False, if not WP_Error.
*/
function is_wp_error($thing) {
return true;
return false;
}
-
-?>
\ No newline at end of file