52 lines
1.4 KiB
PHP
52 lines
1.4 KiB
PHP
<?php
|
|
/*
|
|
* Plugin Name: Cent Filtres
|
|
* Description: Plugin permettant l'affichage des mesures de la CCC selon des filtres
|
|
* Plugin URI: https://sansfiltre.les150.fr
|
|
* Version : 0.1
|
|
* Requires at least: 5.6
|
|
* Requires PHP: 7.4
|
|
* Author: Matt Marcha
|
|
* Author URI: https://matt.marcha.pro
|
|
*/
|
|
|
|
/**
|
|
* Options
|
|
* Si les mettre éditable en admin n'est pas nécessaire pour l'instant
|
|
*/
|
|
|
|
// Choisir le hook pour temporaliser l'initialisation de l'autoloader (si utres plugins pré-requis par exemple)
|
|
add_action('init', 'spclInitAutoLoader');
|
|
|
|
/*
|
|
* Autoloader
|
|
*/
|
|
function spclInitAutoLoader() {
|
|
// La liste des dossier à parcourir
|
|
// Par défaut les plus courants
|
|
$spcls_folders = [
|
|
//"Models",
|
|
//"Controllers",
|
|
"Views"
|
|
];
|
|
|
|
foreach ($spcls_folders as $folder) {
|
|
// dans chaque, on inclut chaque fichier php
|
|
foreach (glob(plugin_dir_path( __FILE__ ). "$folder/*.php") as $filename) {
|
|
include_once "$filename";
|
|
|
|
/* instanciation des classes statiques de hook et d'outils */
|
|
// on précise la liste des dossiers contenant les classes à instancier directement
|
|
if (in_array($folder, [
|
|
//"Models",
|
|
//"Controllers",
|
|
"Views"
|
|
])) {
|
|
// On extrait la classe: il faut récupérer ce qu'il y a après le dernier slash et virer l'extension
|
|
$class = explode(".", array_slice(explode("/", $filename), -1, 1)[0])[0];
|
|
//et on instancie
|
|
new $class();
|
|
}
|
|
}
|
|
}
|
|
} |