web-dev-qa-db-fra.com

Limiter le filtre upgrader_post_install à un seul plugin

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.

2
PthPndr

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.

0
Nicolai