WordPressのプラグイン作成中に出る「has_cap」エラーの解決法
※本ページはプロモーションが含まれています
WordPressのプラグインを作成している時に出たエラー
「Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! 代わりに プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 を使ってください。 in /users/admin/www/blog/wordpress/wp-includes/functions.php on line 3193
」
「を使ってください」をなぜ二回言っているのか分かりませんが、エラーの回避法をメモ。
管理メニューの権限設定を数字以外にする
「管理メニューの追加 – WordPress Codex 日本語版」では、「add_options_page」を使用する際に
add_options_page('My Plugin Options', 'My Plugin', 8, __FILE__, 'my_plugin_options');
と三番目の引数(roles)に「8」を指定している。
エラーには「プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。」
とあるので、ユーザーレベルではなく、権限グループを入れてあげる。
とりあえず一般的な「administrator」に設定するとエラーは出なくなる。
add_options_page('My Plugin Options', 'My Plugin', 'administrator', __FILE__, 'my_plugin_options');
因みに他の権限グループにしたい場合は「Roles and Capabilities « WordPress Codex」を参考に。
おわりに
Codexの該当ページが2011年から現在(2014年6月4日)まで変更されていません。プラグインのところまではなかなか手がまわらないんですかね。
日本語翻訳も大変な作業です。翻訳をして下さる方々に感謝です。(自分も発言できるぐらいの知識や技術を身につけたいものです。)