WP_Font_Collection::__construct( string $slug, array $args )

In this article

WP_Font_Collection constructor.


Font collection slug. May only contain alphanumeric characters, dashes, and underscores. See sanitize_title() .
Font collection data. See wp_register_font_collection() for information on accepted arguments.
More Arguments from wp_register_font_collection( … $args )Font collection data.
  • name string
    Required. Name of the font collection shown in the Font Library.
  • description string
    Optional. A short descriptive summary of the font collection. Default empty.
  • font_families array|string
    Required. Array of font family definitions that are in the collection, or a string containing the path or URL to a JSON file containing the font collection.
  • categories array
    Optional. Array of categories, each with a name and slug, that are used by the fonts in the collection. Default empty.


public function __construct( string $slug, array $args ) {
	$this->slug = sanitize_title( $slug );
	if ( $this->slug !== $slug ) {
			/* translators: %s: Font collection slug. */
			sprintf( __( 'Font collection slug "%s" is not valid. Slugs must use only alphanumeric characters, dashes, and underscores.' ), $slug ),

	$required_properties = array( 'name', 'font_families' );

	if ( isset( $args['font_families'] ) && is_string( $args['font_families'] ) ) {
		// JSON data is lazy loaded by ::get_data().
		$this->src = $args['font_families'];
		unset( $args['font_families'] );

		$required_properties = array( 'name' );

	$this->data = $this->sanitize_and_validate_data( $args, $required_properties );



User Contributed Notes

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