self::get_assets_version( $version ), 'suffix' => self::get_assets_suffix(), ]; } /** * get_assets_path * * @param string $asset_name * @param string $asset_type * @param string $suffix * * @return string */ private static function get_assets_path( string $asset_name, string $asset_type, string $suffix = '' ) : string { return \EA11Y_ASSETS_URL . '/build/' . $asset_name . $suffix . '.' . $asset_type; } /** * enqueue_app_assets * * @param string $handle * @param bool $with_css */ public static function enqueue_app_assets( string $handle = '', bool $with_css = true, array $dependencies = [] ) : void { $dir = \EA11Y_ASSETS_PATH . 'build/'; $url = \EA11Y_ASSETS_URL . 'build/'; $script_asset_path = $dir . $handle . '.asset.php'; if ( ! file_exists( $script_asset_path ) ) { throw new \Error( 'You need to run `npm start` or `npm run build` for the "' . esc_html( $handle ) . '" script first.' ); } // enqueue js $script_asset = require $script_asset_path; wp_enqueue_script( $handle, $url . $handle . '.js', array_merge( $script_asset['dependencies'], $dependencies ), $script_asset['version'], true, ); // add translation support wp_set_script_translations( $handle, 'pojo-accessibility' ); if ( ! $with_css ) { return; } // enqueue css $css_file_name = 'style-' . $handle . '.css'; $css_version = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? filemtime( $dir . $css_file_name ) : \EA11Y_VERSION; wp_enqueue_style( $handle, $url . $css_file_name, [ 'wp-components' ], $css_version ); } }