error(); } /** * Always an error. * * @since 7.2.0 * * @param string $name The secret's name. * @param string $value The plaintext value. * @param bool $network Whether this is a network-scope secret. * @param bool $needs_rotation Ignored. * @param string|null $action Ignored. * @return WP_Error */ public function set( string $name, $value, bool $network = false, bool $needs_rotation = false, ?string $action = null ): WP_Error { return $this->error(); } /** * Always an error. * * @since 7.2.0 * * @param string $name The secret's name. * @param bool $network Whether this is a network-scope secret. * @return WP_Error */ public function delete( string $name, bool $network = false ): WP_Error { return $this->error(); } /** * Always an error. * * @since 7.2.0 * * @param string $name The secret's name. * @param bool $network Whether this is a network-scope secret. * @return WP_Error */ public function retire_previous( string $name, bool $network = false ): WP_Error { return $this->error(); } /** * Always an error. * * @since 7.2.0 * * @param string $name_prefix Restrict to names beginning with this prefix. * @param bool $network Whether to list network-scope secrets. * @return WP_Error */ public function list_secrets( string $name_prefix = '', bool $network = false ): WP_Error { return $this->error(); } /** * Says plainly that the drop-in is the problem. * * @since 7.2.0 * * @return string */ public function get_label(): string { return __( 'Unavailable: the secrets.php drop-in did not load correctly', 'default' ); } /** * Reports the provider boundary. * * Whatever was meant to protect these secrets is not WordPress, and is not * working. * * @since 7.2.0 * * @return string * * @phpstan-return self::BOUNDARY_* */ public function get_protection_boundary(): string { return self::BOUNDARY_PROVIDER; } /** * Nothing is writable while the drop-in is broken. * * @since 7.2.0 * * @return bool */ public function is_writable(): bool { return false; } }