63 lines
1.6 KiB
PHP
63 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace HaikuAtelier\WP;
|
|
|
|
use Exception;
|
|
|
|
use function filemtime;
|
|
use function get_template_directory;
|
|
use function get_template_directory_uri;
|
|
use function is_bool;
|
|
use function wp_enqueue_script_module;
|
|
use function wp_enqueue_style;
|
|
|
|
final readonly class Resource {
|
|
/**
|
|
* @throws Exception Lève une `Exception` s'il est impossible d'obtenir les attributs du fichier au chemin passé en paramètre.
|
|
*/
|
|
public static function enqueue_script_module_file(string $path, string $id): void {
|
|
$file_uri = get_template_directory_uri() . $path;
|
|
|
|
$file_path = get_template_directory() . $path;
|
|
$file_mtime = filemtime($file_path);
|
|
|
|
if (is_bool($file_mtime)) {
|
|
throw new Exception("Impossible de récupérer la date de modification du fichier : {$file_uri}.");
|
|
}
|
|
|
|
$version = (string) $file_mtime;
|
|
|
|
wp_enqueue_script_module(
|
|
id: $id,
|
|
src: $file_uri,
|
|
deps: [],
|
|
version: $version,
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @throws Exception Lève une `Exception` s'il est impossible d'obtenir les attributs du fichier au chemin passé en paramètre.
|
|
*/
|
|
public static function enqueue_style_file(string $path, string $handle): void {
|
|
$file_uri = get_template_directory_uri() . $path;
|
|
|
|
$file_path = get_template_directory() . $path;
|
|
$file_mtime = filemtime($file_path);
|
|
|
|
if (is_bool($file_mtime)) {
|
|
throw new Exception("Impossible de récupérer la date de modification du fichier : {$file_uri}.");
|
|
}
|
|
|
|
$ver = (string) $file_mtime;
|
|
|
|
wp_enqueue_style(
|
|
handle: $handle,
|
|
src: $file_uri,
|
|
deps: [],
|
|
ver: $ver,
|
|
media: 'all',
|
|
);
|
|
}
|
|
}
|