以前制作したWordPressサイトを何年かぶりにいじることとなりました。
そのサイトでは、フォームに inquiry form creator(プラグイン)を利用しています。
(このサイトに限らず、この確認画面付きのinquiry form creatorプラグインはお気に入りですv)
updateしたところ、もう開発終了だからサポートしないよっ!と…
後継は Trust Form です。機能的にはかわらない?、いえ、ぱっと見は inquiry form creator にはまだ及ばないのでは?という気がします。が、視覚的に簡単に設置できるようになっていて使いやすそうですので、いつかレポートしたいと思います。
まずは、inquiry form creatorを動かしてみることにしましたが、デバッグモードにすると、
Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! 代わりに プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。
というNoticeがいくつもでてきます。
要は、「ユーザーレベル」の指定をきちんと書きなさい!ということ。
そこで、menu とか page で検索して、該当箇所を突き止めていきました。
■iqfm-installer.php
if ( !get_option('iqfm_installed_032') ) { update_option( 'iqfm_edit_level', 8 ); update_option('iqfm_installed_032', 1); }
この「8]というのがユーザーレベルです。「'level_8'」ときちんと書きますよ!
次に、管理画面の「お問い合わせ‐環境設定」で「プラグインを操作できる権限レベルの設定」の部分です。
■modules/admin/config/view.php
<option value="level_10" ' . ( get_option('iqfm_edit_level') = 'level_10' ) ? "selected='selected'" : "" ) . '>10</option> <option value="level_9" ' . ( get_option('iqfm_edit_level') = 'level_9' ) ? "selected='selected'" : "" ) . '>9</option> <option value="level_8" ' . ( get_option('iqfm_edit_level') = 'level_8' ) ? "selected='selected'" : "" ) . '>8</option> ...
■admin/action/config/save.php
update_option( 'iqfm_edit_level', "level_".$_POST['iqfm_edit_level'] );
こんな感じで'iqfm_edit_level'へセットするときに、「8」ではなく「'LEVEL_8'」などとセットされるように応急処置しました。これでNoticeはなくなります。
あとは、動作確認をしましょうね。