J'utilise le filtre suivant pour exécuter une fonction qui génère un fichier CSS après la mise à jour d'un plugin. Actuellement, le CSS est généré quand un plugin est mis à jour. Existe-t-il un moyen simple de limiter cette exécution à un plugin particulier?
add_filter('upgrader_post_install', 'generate_my_css', 100, 0);
function generate_my_css() {
$ss_dir = get_stylesheet_directory();
$pi_dir = plugin_dir_path( __FILE__ );
ob_start();
require($pi_dir . 'includes/css/mycss.php');
$css = ob_get_clean();
file_put_contents($ss_dir . '/css/mycss.css', $css, LOCK_EX);
}
Idéalement, le code ci-dessus vivrait dans le plugin en cours de mise à jour, mais pourrait tout aussi bien vivre dans le functions.php.
upgrader_post_install
a trois paramètres $response
, $hook_extra
et $result
qui vous fournissent des informations supplémentaires. Pour le moment, je ne peux pas me renseigner moi-même, mais je suppose que la variable $result
devrait en particulier vous donner des informations supplémentaires pour vous différencier.