wp_xmlrpc_server::wp_setOptions( array $args ): array|IXR_Error

In this article

Updates blog options.

Parameters

$argsarrayrequired
Method arguments. Note: arguments must be ordered as documented.
  • int
    Blog ID (unused).
  • 1 string
    Username.
  • 2 string
    Password.
  • 3 array
    Options.

Return

array|IXR_Error

Source

public function wp_setOptions( $args ) {
	$this->escape( $args );

	$username = $args[1];
	$password = $args[2];
	$options  = (array) $args[3];

	$user = $this->login( $username, $password );
	if ( ! $user ) {
		return $this->error;
	}

	if ( ! current_user_can( 'manage_options' ) ) {
		return new IXR_Error( 403, __( 'Sorry, you are not allowed to update options.' ) );
	}

	$option_names = array();
	foreach ( $options as $o_name => $o_value ) {
		$option_names[] = $o_name;
		if ( ! array_key_exists( $o_name, $this->blog_options ) ) {
			continue;
		}

		if ( true == $this->blog_options[ $o_name ]['readonly'] ) {
			continue;
		}

		update_option( $this->blog_options[ $o_name ]['option'], wp_unslash( $o_value ) );
	}

	// Now return the updated values.
	return $this->_getOptions( $option_names );
}

Changelog

VersionDescription
2.6.0Introduced.

User Contributed Notes

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