web-dev-qa-db-fra.com

Plugins error (Utilisez plutôt les rôles et les fonctionnalités) sur la dernière version, multisite

J'ai la dernière, la version 3.1.2 et ai multisite installé. J'ai déboguer sur true à des fins de test. J'obtiens l'erreur suivante lorsque j'installe des plugins.

Où et comment résoudre ce problème?

Erreur: Remarque: has_cap a été appelé avec un argument obsolète depuis la version 2.0! L'utilisation de niveaux d'utilisateurs par plugins et thèmes est obsolète. Utilisez plutôt les rôles et les capacités. dans /home/mysite/public_html/wp-includes/functions.php à la ligne 3387

merci d'avance!

3
alett

Vous allez bien, ce sont les plugins qui sont mauvais! certains plugins n'ont pas encore été mis à jour et utilisent toujours le niveau utilisateur comme capacité lors de l'ajout de pages de menu au lieu de la capacité, par exemple

 10 = manage_options = admin

jetez un oeil à ce fil pour mieux comprendre.

2
Bainternet

pour tous ceux qui rencontrent ce problème, vous pouvez le résoudre en modifiant le paramètre de add_options_page comme ceci:

       add_options_page(__('WP Flickr Embed', 'wp-flickr-embed'), __('WP Flickr Embed', 'wp-flickr-embed'), 8, $this->pagesDir.'/admin.php');
       add_options_page(__('WP Flickr Embed', 'wp-flickr-embed'), __('WP Flickr Embed', 'wp-flickr-embed'), 'manage_options', $this->pagesDir.'/admin.php');

Changez le paramètre number en 'manage_options' s'il s'agit de 8. Pour un autre numéro, vous devez faire une recherche.

https://github.com/travisseitler/wp-flickr-embed/commit/d3b03191061e46f4850dce407bb55cf5161c5380

1
harrrrrrry

Oui, cette erreur peut être vérifiée à deux endroits: l’une lors de l’ajout d’un menu/d'une page, comme dans "add_options_page", et l’autre lors de la vérification explicite de la capacité avec current_user_can et similaires.

De plus, un plugin ne devrait pas utiliser de rôles, mais plutôt de capacités. Donc, pour la fonction que je viens de mentionner "add_options_page", la capacité est probablement "manage_options".

Les rôles sont pour l'utilisateur, qui sont un groupe de fonctionnalités.

0
Gerard ONeill