wp_slash( string|array $value ): string|array

Adds slashes to a string or recursively adds slashes to strings within an array.

Description

This should be used when preparing data for core API that expects slashed data.
This should not be used to escape data going directly into an SQL query.

Parameters

$valuestring|arrayrequired
String or array of data to slash.

Return

string|array Slashed $value, in the same type as supplied.

Source

function wp_slash( $value ) {
	if ( is_array( $value ) ) {
		$value = array_map( 'wp_slash', $value );
	}

	if ( is_string( $value ) ) {
		return addslashes( $value );
	}

	return $value;
}

Changelog

VersionDescription
5.5.0Non-string values are left untouched.
3.6.0Introduced.

User Contributed Notes

  1. Skip to note 4 content

    Usage with an array

    How to use wp_slash with an array within your plugin.

    function wpdocs_toolset_array_add_slashes() {
        $names = array( __( "Baba O'Reilly", 'textdomain' ), __( 'class of '99', 'textdomain' ) );
        $names = wp_slash( $names );
        print_r( $names );
    }
    add_action( 'pre_get_posts', 'wpdocs_toolset_array_add_slashes' );

You must log in before being able to contribute a note or feedback.