Styles': For plugin-specific styles. * * @param array $metadata Block metadata array. * @return array Modified block metadata. */ public function extend_attributes( $metadata ) { $constants = Helpers::plugin_constants(); $plugin_main_camel_case_name = $constants['plugin_main_camel_case_name']; // Add customCss attribute if not present. if ( ! isset( $metadata['attributes']['customCss'] ) ) { $metadata['attributes']['customCss'] = array( 'type' => 'string', 'default' => '', ); } // Add blockClientId attribute if not present. if ( ! isset( $metadata['attributes']['blockClientId'] ) ) { $metadata['attributes']['blockClientId'] = array( 'type' => 'string', 'default' => '', ); } // Add plugin-specific styles attribute if not present. if ( ! isset( $metadata['attributes'][ $plugin_main_camel_case_name . 'Styles' ] ) ) { $metadata['attributes'][ $plugin_main_camel_case_name . 'Styles' ] = array( 'type' => 'string', 'default' => '', ); } // Add animation settings attribute if not present. if ( ! isset( $metadata['attributes']['animationsSettings'] ) ) { $metadata['attributes']['animationsSettings'] = array( 'type' => 'object', 'default' => array( 'duration' => 1000, ), ); } return $metadata; } } // Initialize the attribute extender. new Extend_Attributes();