_wp_die_process_input() – Processes arguments passed to wp_die() consistently for its handlers.

You appear to be a bot. Output may be restricted

Description

Processes arguments passed to wp_die() consistently for its handlers.

Usage

$array = _wp_die_process_input( $message, $title, $args );

Parameters

$message
( string|WP_Error ) required – Error message or WP_Error object.
$title
( string ) optional – Optional. Error title. Default empty string.
$args
( string|array ) optional – Optional. Arguments to control behavior. Default empty array.
$0
( string ) optional – Error message.
$1
( string ) optional – Error title.
$2
( array ) optional – Arguments to control behavior. }

Returns

array { Processed arguments.

Source

File name: wordpress/wp-includes/functions.php
Lines:

1 to 71 of 71
function _wp_die_process_input( $message, $title = '', $args = array() ) {
  $defaults = array(
    'response'          => 0,
    'code'              => '',
    'exit'              => true,
    'back_link'         => false,
    'link_url'          => '',
    'link_text'         => '',
    'text_direction'    => '',
    'charset'           => 'utf-8',
    'additional_errors' => array(),
  );

  $args = wp_parse_args( $args, $defaults );

  if ( function_exists( 'is_wp_error' ) && is_wp_error( $message ) ) {
    if ( ! empty( $message->errors ) ) {
      $errors = array();
      foreach ( (array) $message->errors as $error_code => $error_messages ) {
        foreach ( (array) $error_messages as $error_message ) {
          $errors[] = array(
            'code'    => $error_code,
            'message' => $error_message,
            'data'    => $message->get_error_data( $error_code ),
          );
        }
      }

      $message = $errors[0]['message'];
      if ( empty( $args['code'] ) ) {
        $args['code'] = $errors[0]['code'];
      }
      if ( empty( $args['response'] ) && is_array( $errors[0]['data'] ) && ! empty( $errors[0]['data']['status'] ) ) {
        $args['response'] = $errors[0]['data']['status'];
      }
      if ( empty( $title ) && is_array( $errors[0]['data'] ) && ! empty( $errors[0]['data']['title'] ) ) {
        $title = $errors[0]['data']['title'];
      }

      unset( $errors[0] );
      $args['additional_errors'] = array_values( $errors );
    } else {
      $message = '';
    }
  }

  $have_gettext = function_exists( '__' );

  // The $title and these specific $args must always have a non-empty value.
  if ( empty( $args['code'] ) ) {
    $args['code'] = 'wp_die';
  }
  if ( empty( $args['response'] ) ) {
    $args['response'] = 500;
  }
  if ( empty( $title ) ) {
    $title = $have_gettext ? __( 'WordPress › Error' ) : 'WordPress › Error';
  }
  if ( empty( $args['text_direction'] ) || ! in_array( $args['text_direction'], array( 'ltr', 'rtl' ), true ) ) {
    $args['text_direction'] = 'ltr';
    if ( function_exists( 'is_rtl' ) && is_rtl() ) {
      $args['text_direction'] = 'rtl';
    }
  }

  if ( ! empty( $args['charset'] ) ) {
    $args['charset'] = _canonical_charset( $args['charset'] );
  }

  return array( $message, $title, $args );
}
 

 View on GitHub View on Trac