Title: WP_REST_Plugins_Controller::validate_plugin_param
Published: August 11, 2020
Last modified: February 24, 2026

---

# WP_REST_Plugins_Controller::validate_plugin_param( string $file ): bool

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#wp--skip-link--target)

Checks that the “plugin” parameter is a valid path.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#parameters)󠁿

 `$file`stringrequired

The plugin file parameter.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#return)󠁿

 bool

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#source)󠁿

    ```php
    public function validate_plugin_param( $file ) {
    	if ( ! is_string( $file ) || ! preg_match( '/' . self::PATTERN . '/u', $file ) ) {
    		return false;
    	}

    	$validated = validate_file( plugin_basename( $file ) );

    	return 0 === $validated;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php#L774)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/rest-api/endpoints/class-wp-rest-plugins-controller.php#L774-L782)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#related)󠁿

| Uses | Description | 
| [validate_file()](https://developer.wordpress.org/reference/functions/validate_file/)`wp-includes/functions.php` |

Validates a file name and path against an allowed set of rules.

  | 
| [plugin_basename()](https://developer.wordpress.org/reference/functions/plugin_basename/)`wp-includes/plugin.php` |

Gets the basename of a plugin.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_plugins_controller/validate_plugin_param/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.5.0](https://developer.wordpress.org/reference/since/5.5.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_rest_plugins_controller%2Fvalidate_plugin_param%2F)
before being able to contribute a note or feedback.