array(), 'version' => $this->get_file_version( $script_path ), ); wp_enqueue_style( '{{slug}}-blocks-integration', $style_url, [], $this->get_file_version( $style_path ) ); wp_register_script( '{{slug}}-blocks-integration', $script_url, $script_asset['dependencies'], $script_asset['version'], true ); wp_set_script_translations( '{{slug}}-blocks-integration', '{{slug}}', '{{slug}}', dirname( __FILE__ ) . '/languages' ); } /** * Returns an array of script handles to enqueue in the frontend context. * * @return string[] */ public function get_script_handles() { return array( '{{slug}}-blocks-integration' ); } /** * Returns an array of script handles to enqueue in the editor context. * * @return string[] */ public function get_editor_script_handles() { return array( '{{slug}}-blocks-integration' ); } /** * An array of key, value pairs of data made available to the block on the client side. * * @return array */ public function get_script_data() { $data = array( '{{slug}}-active' => true, 'example-data' => 'This is some example data from the server', ); return $data; } /** * Get the file modified time as a cache buster if we're in dev mode. * * @param string $file Local path to the file. * @return string The cache buster value to use for the given file. */ protected function get_file_version( $file ) { if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG && file_exists( $file ) ) { return filemtime( $file ); } return {{slugPascalCase}}_VERSION; } }