WordPress整体院
主にwordpressのカスタマイズやトラブル対策
  1. ホーム
  2. > WordPress
  3. > WordPressでNotice:has_capが・・・というエラーが出たときの対処法
WordPress
2016.11.16.

WordPressでNotice:has_capが・・・というエラーが出たときの対処法

昔作ったテンプレートから再利用しようと管理画面のコードをコピペしたら次のようなエラーが出ました。

PHP Notice: has_cap がバージョン 2.0 から非推奨になった引数付きで呼び出されました。 プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 in /home/hogehoge/hogehoge.com/public_html/wp-includes/functions.php

このエラーがででる原因と対策を防備録として書いておきます。

スポンサーリンク

has_cap〜がでる原因と対策

has_capというのはユーザーの権限を確認するために使う関数です。なのでエラーが言いたいことを簡単に書くと

推奨された権限の確認方法ではない

ということです。

で、このエラーが出るのは管理画面に独自設定ページを追加する場合によくでるそうです。独自設定ページを追加する場合はadd_options_pageなどの関数を使うのですが昔は下記のように3番目の引数(権限の指定)を数字で指定することができました。

[php]add_options_page(*,*,8,*…)[/php]

数字の8が管理者権限を表していたのですが、今は数字でなく次のように書くことが推奨されています。

[php]add_options_page(*,*,’administrator’,*…)[/php]

昔のコードだったのでこれが悪かったんだなと思ったのも束の間、今回コピペしたコードにはadd_options_pageは使われていませんでした。

これは困った!と一瞬思ったのですが、よく見てみると今回のコードで使っていたのはadd_theme_pageという関数でした。これもadd_options_pageと同じようなものですが追加されるのは「外観」の中になります。引数も一緒なので次のように修正して事なきを得ました。

[php]add_theme_page(*,*,’administrator’,*…)[/php]

古いコードを再利用するときは注意しなければなりませんね。

スポンサーリンク
デジ部長 デジ部長 WordPress, テーマ開発

コメント

この記事へのコメントはありません。

コメントをどうぞ

返信をキャンセルする。

メールアドレスが公開されることはありません。

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

≪前の投稿
WordPressの管理画面でチェックボックスを追加すると「Notice: Undefined index」 が出る問題の解決法
次の投稿≫
ついにExcelでCSVファイルをUTF-8で保存出来るようになった!

プロフィール

HN:デジ部長
整体院とパーソナルトレーニングをやっていますが、WordPressをいじっていたらそちらの方が楽しくなり、知り合いのサイト作成やテーマ作りなどをボチボチとやっています。
このブログはそのときの覚え書きなどが主な目的でやってます。

カテゴリー

  • HTML/CSS
  • javascript
  • Mac
  • PHP
  • PPC広告
  • SEO
  • WordPress
  • カスタマイズ
  • サイト管理関係
  • テーマ開発
  • パソコン全般
  • プラグイン
  • 思った事

トップ
Copyright© 2019-2025 WordPress整体院 all right reserved