Tout en regardant wp_update_plugin()
function.
function wp_update_plugin($plugin, $feedback = '') {
if ( !empty($feedback) )
add_filter('update_feedback', $feedback);
include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$upgrader = new Plugin_Upgrader();
return $upgrader->upgrade($plugin);
}
Il est très difficile de savoir quel type de données envoyer comme premier argument $plugin
. Est-ce le nom du plugin, le nom du fichier ou l'objet?
Aussi le deuxième argument $feedback
. Quel est le but de cela?
Le premier argument est le "slug" du plug-in. Le slug du plug-in est déterminé par l'emplacement de l'en-tête de fichier .php
contenant l'en-tête de commentaire nécessaire aux plug-ins. (voir source ).
Si votre fichier de plug-in principal peut être ~/wp-content/plugins/foo/bar.php
, alors que votre slug de plug-in est foo/bar.php
.
Si le répertoire wp-content
a un nom personnalisé, vous pouvez le récupérer à l'aide de content_url( $path )
, où $path
est un suffixe unique comme le répertoire des plugins. N'oubliez pas qu'à la fin de la fonction se trouve un filtre, il est donc préférable de vérifier si quelque chose l'a modifié. Ensuite, il y a plugins_url( $path, $plugin )
et ainsi de suite. Vous devez donc vous assurer que vous avez le bon chemin qui prend en compte les différents emplacements possibles.
Le deuxième argument est un rappel qui sera relié au filtre update_feedback
. Cela ne semble être utilisé que dans update-core.php
( source )). Je pense que cela peut être utilisé pour forcer le vidage de la sortie afin que l'utilisateur reçoive une sorte de retour d'information - mais je ne suis pas sûr de savoir où (ou si) le cœur le fait.