A WordPress-centric search engine for devs and theme authors



wp_set_all_user_settings ›

Since2.8.0
Deprecatedn/a
wp_set_all_user_settings ( $user_settings )
Access:
  • private
Parameters:
  • (array) $user_settings User settings.
    Required: Yes
Returns:
  • (bool|null) False if the current user can't be found, null if the current user is not a super admin or a member of the site, otherwise true.
Defined at:
Codex:

Private. Set all user interface settings.



Source

function wp_set_all_user_settings( $user_settings ) {
	global $_updated_user_settings;

	if ( ! $user_id = get_current_user_id() ) {
		return false;
	}

	if ( ! is_user_member_of_blog() ) {
		return;
	}

	$settings = '';
	foreach ( $user_settings as $name => $value ) {
		$_name  = preg_replace( '/[^A-Za-z0-9_-]+/', '', $name );
		$_value = preg_replace( '/[^A-Za-z0-9_-]+/', '', $value );

		if ( ! empty( $_name ) ) {
			$settings .= $_name . '=' . $_value . '&';
		}
	}

	$settings = rtrim( $settings, '&' );
	parse_str( $settings, $_updated_user_settings );

	update_user_option( $user_id, 'user-settings', $settings, false );
	update_user_option( $user_id, 'user-settings-time', time(), false );

	return true;
}