web-dev-qa-db-ja.com

最新バージョンのマルチサイトでプラグインエラー(代わりにロールと機能を使用)

最新のバージョン3.1.2があり、マルチサイトがインストールされています。私はテスト目的のためにtrueをデバッグしています。プラグインをインストールすると、フォローエラーが発生します。

どこでどうやってこれを直すことができますか?

エラー:notice:has_capはバージョン2.0以降廃止予定の引数で呼ばれました!プラグインとテーマによるユーザーレベルの使用は非推奨です。代わりにロールと機能を使用してください。 3387行目の/home/mysite/public_html/wp-includes/functions.php

前もって感謝します!

3
alett

あなたは大丈夫です、それは悪いプラグインです!一部のプラグインは更新されておらず、機能の代わりにメニューページを追加するときに機能としてユーザーレベルをまだ使用しています。

 10 = manage_options = admin

このスレッド をよく見てください。

2
Bainternet

この問題に遭遇した人のために、add_options_pageのパラメータを次のように変更することでそれを修正できます。

       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');

'manage_options'の場合、numberパラメータを8に変更します。他の番号の場合は、検索する必要があります。

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

1
harrrrrrry

はい、このエラーをチェックする場所は2つあります。1つは 'add_options_page'のようにメニュー/ページを追加するとき、もう1つはcurrent_user_canなどで機能を明示的にチェックするときです。

また、プラグインはロールを使うべきではありません - それは機能を使うべきです。だから私が今 'add_options_page'と言った関数の場合、その機能はおそらく 'manage_options'です。

役割はユーザーが持つべきもので、これは機能のグループです。

0
Gerard ONeill