J'écris un plugin Wordpress pour la mise à jour automatique de plugins individuels. Je ne peux pas vérifier que le filtre 'auto_update_plugin' fonctionne. Tout ce que je mets dans la fonction de rappel ne renvoie rien. Comme si la fonction n'était jamais appelée.
Le filtre:
add_filter( 'auto_update_plugin', array( $this, 'l7wau_auto_update_specific_plugins' ), 10, 2 );
La fonction de rappel:
/**
* Update specific plugins. Got this from Wordpress codex.
*/
function l7wau_auto_update_specific_plugins( $update, $item ) {
// Array for adding the path to file. Use for 3.8.1 and below.
$new_plugin_array = array();
$this->plugin_slug = 'changed'; //Test to see if it is working. Nothing here.
/**
* Get the array of names/slugs to set to auto-update
* Added the folder/file.php because the actual slug is not
* the file name. It is the plugin folder and file with header use for 3.8.1 and below.
*/
$plugins = $this->l7wau_get_array_plugins_to_update();
if ( in_array( $item->slug, $plugins ) ) {
return true; // Always update plugins in this array
} else {
return $update; // Else, use the normal API response to decide whether to update or not
}
}
Il s'avère que ce qui précède fonctionne. Cela prend juste 12 heures pour que le cycle de mise à jour automatique se produise. La chose que j'ai changé était le nombre d'importance pour 10 à 20.
add_filter( 'auto_update_plugin', array( $this, 'l7wau_auto_update_specific_plugins' ), 20, 2 );