質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2003閲覧

プラグインへの権限の追加が出来ません

gawkoe

総合スコア13

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/03/05 07:20

編集2019/03/05 09:31

wordpressにてwp simple booking calenderというプラグインに投稿者の権限を追加したく、下記をfunction.phpに記載しましたが、権限の追加が出来ません。

function register_my_custom_menu_page() {    if (current_user_can('author')) {        add_menu_page( 'custom menu title', 'カレンダー', 'manage_options', 'admin.php?page=wp-simple-booking-calendar', '', plugins_url( '' ), 6 ); } } add_action( 'admin_menu', 'register_my_custom_menu_page' );

下記のコードを参考にしました。
https://teratail.com/questions/74226

対象のプラグインはこちらです。
https://ja.wordpress.org/plugins/wp-simple-booking-calendar/

詳しい方がいらっしゃれば教えて頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/03/05 07:27 編集

「WordPress」タグを追加してください。PHP本体よりもWordPressのみの知識技術を要求されるシーンの方が多いです。「詳しい方」に見てもらいたければ尚更ですね。PHPが詳しくてWordPressが全く(私とか)という人もいますし、WordPressに詳しくてPHPはいまいち、という人もいます。
kei344

2019/03/05 08:32 編集

提示されているコードは「特定の権限があるユーザーの場合メニュー項目を増やす」というコードです。権限の追加とは関係ないのですが、何がしたいのでしょうか。具体的に質問文に追記してください。
gawkoe

2019/03/05 09:16

wp simple booking calenderというプラグインの権限が管理者のみなので、投稿者もプラグインの機能が使えるよう権限の追加がしたいです。 タグ追加の提案ありがとうございます。 追加させて頂きました。
kei344

2019/03/05 09:21

プラグイン/ライブラリは似た名前のものもあるため、取得した場所のURLを質問文に追記ください。
momosiri

2019/03/05 14:35

プラグインの公式サイトを見る限り、無料版では管理権限ユーザーのみ対応、カレンダーも1つだけ作成できるようですね。有料版なら権限の設定ができ、カレンダーも無制限に作れるようです。1つのカレンダーを共有するのでなければこのプラグインの有料版を購入するか、他のプラグインを探してみるといいかも知れません。
gawkoe

2019/03/06 00:23 編集

みなさん色々ありがとうございございます。
guest

回答1

0

ベストアンサー

コードを見る限り、manage_optionsが必須になるため、当該ユーザーにその権限を与えるほうが早いです。ただ、権限が増えることで表示される(編集できる)項目も増えるため、影響を調査してから実装に入られることをお勧めします。

【Controller.php in wp-simple-booking-calendar/trunk/library/WpSimpleBookingCalendar – WordPress Plugin Repository】
https://plugins.trac.wordpress.org/browser/wp-simple-booking-calendar/trunk/library/WpSimpleBookingCalendar/Controller.php#L56

【User Role Editor – WordPress plugin | WordPress.org】
https://ja.wordpress.org/plugins/user-role-editor/


フィルタフックで一時的に権限を上昇させることも(たぶん)出来なくはないですが、それなりの知識とそれなりのコード量が必要で、かつアップデート時にその近辺のコード変更がないかを確認する必要があります。


あとは、プラグイン自体の権限部分manage_optionsを別の物に書き換えてしまう方法もありますが、プラグインのアップデートの際に上書きされてしまうので、毎回コードを書き換えすることになり、メンテナンス性が落ちます。(ちなみにどちらも更新しないのはもってのほかです)

投稿2019/03/05 13:11

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gawkoe

2019/03/06 00:22

ご返信ありがとうございます。 プラグイン自体の権限部分の書き換えとはどのようなコードになりますでしょうか?
kei344

2019/03/06 02:22

manage_optionsを必要な権限に書き換えるだけです。
gawkoe

2019/03/08 03:59

色々丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問