web-dev-qa-db-fra.com

la fonction deactivate_plugins n'existe pas

Je reçois une erreur function deactivate_plugins does not exist lorsque j'appelle cette fonction

function deactivateSelf(){
    deactivate_plugins(RSD_PLUGIN, true); //gives error: function deactivate_plugins does not exist
    header("Location: plugins.php?deactivate=true"); //redirect to plugin management with message
    die();
}
  • la fonction deactivate_plugins est sur le serveur dans /wp-admin/wp-includes/plugin.php
  • la fonction deactivateSelf fonctionne sur l'ordinateur de mon développeur mais pas sur mon serveur linode
  • J'ai téléchargé http://www.turnkeylinux.org/wordpress , qui devrait avoir une configuration assez standard et j'ai la même erreur. J'ai essayé de mettre à jour wp vers la dernière version et j'ai toujours la même erreur.

Une idée comment le faire fonctionner?

6
Radek

Le fichier wp-admin/includes/plugin.php n'est pas toujours inclus. Vous devrez peut-être faire cela dans votre plugin.

Et votre en-tête Location n'est pas valide: vous devez envoyer une URL complète.

Tu devrais utiliser:

require_once( ABSPATH . 'wp-admin/includes/plugin.php' );

Quand appelez-vous cette fonction? Peut-être trop tôt.

13
fuxia