経験知ロゴ

WordPressのプラグイン作成中に出る「has_cap」エラーの解決法

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」を参考に。

正社員でフリーランスな仕事を実現

フリーのエンジニアになって仕事を自由に選びたい!正社員並みの保証が欲しい!

という相反する要望をかなえてくれるのが【midworks】です。

雇われるだけの生活から脱出してみませんか?



おわりに

Codexの該当ページが2011年から現在(2014年6月4日)まで変更されていません。プラグインのところまではなかなか手がまわらないんですかね。

日本語翻訳も大変な作業です。翻訳をして下さる方々に感謝です。(自分も発言できるぐらいの知識や技術を身につけたいものです。)

▼役に立ったらシェアをお願いします