WP_Plugin_Dependencies::sanitize_dependency_slugs()protected staticWP 6.5.0

Sanitizes slugs.

Method of the class: WP_Plugin_Dependencies{}

Hooks from the method

Return

Array. An array of sanitized plugin dependency slugs.

Usage

$result = WP_Plugin_Dependencies::sanitize_dependency_slugs( $slugs );
$slugs(string) (required)
A comma-separated string of plugin dependency slugs.

Changelog

Since 6.5.0 Introduced.

WP_Plugin_Dependencies::sanitize_dependency_slugs() code WP 6.7.1

protected static function sanitize_dependency_slugs( $slugs ) {
	$sanitized_slugs = array();
	$slugs           = explode( ',', $slugs );

	foreach ( $slugs as $slug ) {
		$slug = trim( $slug );

		/**
		 * Filters a plugin dependency's slug before matching to
		 * the WordPress.org slug format.
		 *
		 * Can be used to switch between free and premium plugin slugs, for example.
		 *
		 * @since 6.5.0
		 *
		 * @param string $slug The slug.
		 */
		$slug = apply_filters( 'wp_plugin_dependencies_slug', $slug );

		// Match to WordPress.org slug format.
		if ( preg_match( '/^[a-z0-9]+(-[a-z0-9]+)*$/mu', $slug ) ) {
			$sanitized_slugs[] = $slug;
		}
	}
	$sanitized_slugs = array_unique( $sanitized_slugs );
	sort( $sanitized_slugs );

	return $sanitized_slugs;
}