サポート » プラグイン » 【開発】プラグインでファイル生成と権限グループについて

  • PHPの習得を目的にダッシュボードメモアプリを作成しています。
    迷ったのでご教授お願いします。

    WPDBを使うよりも、
    テキストファイルをプラグイン内のディレクトリに生成して、
    そのテキストファイルをUPDATAなりDELETEなりして、
    ダッシュボードに表示する方式を取りました。

    1.そもそもこの方法は邪道でしょうか?素直にWPDBを使うべきですか?

    2.ユーザー権限グループで編集や削除を行える権限を設定したいのですが、
    $role->nameを使い個々のグループで分岐するのではなく、
    たとえば、編集権限設定が寄稿者なら、
    寄稿寄投者より下位グループは編集不可で上位グループは編集可としたいのです。
    上位グループで下位グループを内包する?とゆうか・・・。
    (これをなんと呼んでいいかもわかりません。名前がありますか?)
    現状ユーザーレベルと同じ数値を振って条件分岐させているんですが、
    権限カスタマイズされると意味がないので、なにかいい方法ありませんか?
    それとも、権限グループはcheckboxで選択させて分岐した方がいいですか?

    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター gatespace

    (@gatespace)

    2.ユーザー権限グループで編集や削除を行える権限を設定したいのですが、
    $role->nameを使い個々のグループで分岐するのではなく、
    たとえば、編集権限設定が寄稿者なら、
    寄稿寄投者より下位グループは編集不可で上位グループは編集可としたいのです。
    上位グループで下位グループを内包する?とゆうか・・・。
    (これをなんと呼んでいいかもわかりません。名前がありますか?)
    現状ユーザーレベルと同じ数値を振って条件分岐させているんですが、
    権限カスタマイズされると意味がないので、なにかいい方法ありませんか?

    http://codex.wordpress.org/Roles_and_Capabilities
    http://codex.wordpress.org/Function_Reference/current_user_can

    権限グループ(Roles)ではなく、権限(Capabilities)で条件分岐しては?

    WPDBを使うよりも、
    テキストファイルをプラグイン内のディレクトリに生成して、
    そのテキストファイルをUPDATAなりDELETEなりして、
    ダッシュボードに表示する方式を取りました。

    1.そもそもこの方法は邪道でしょうか?素直にWPDBを使うべきですか?

    公式ディレクトリで配布するなら、「テキストファイルをプラグイン内のディレクトリに生成」は好ましくないです。
    というのも、プラグインを更新したら、プラグイン内のディレクトリ/ファイルも更新されてしまうので。

    練習目的でプラグインを作ってみる、ということでしたら、
    たぶんファイルに書き出すほうが取り組みやすいでしょうから、
    最初はファイルでデータを管理する、というのも良いと思います。

    Fumito MIZUNO さん

    プラグインの更新はまったく頭にありませんでした・・。
    一連の流れができたらWPDBに移していきたいとおもいます。
    ありがとうございました。

    gatespace さん

    現状、capabilitiesで分岐しようとおもっているのですが、

    たとえば、
    プラグインではcapabilities[‘edit_published_posts’]で条件分岐してるが、
    プラグイン使用者が権限カスタマイズプラグインで、
    Authorのedit_published_postsをfalseに変更している

    上記の状態だと、プラグインの設定ではAuthorが編集可なのに、サイト上ではAuthorは編集不可になってしまう
    とゆう部分で悩んでます。
    nameで分岐しても、オリジナル権限を追加されたとき結局同じことになるのですが。

    自分が考えられる方法は、capabilitiesを全てを書き出す事なんですが、
    数があるのでちょっと非効率だなーと・・・。

    ロールごとに設定したいのなら
    current_user_can(‘administrator’)の用に判定することもできます。
    (この辺りはget_currentuserinfoで権限を取得して表示してみるとわかります)

    また、ユーザーレベルは上位の権限は下位のレベルも全て保有しているので
    (管理者はlevel_1~level_10全てにcurrent_user_canでヒットする)
    ユーザーレベルで判定することもできるはずです。
    (ただし当然権限カスタマイズされるとダメですが)

    gogoweb さん
    ありがとうございます。

    権限変更でオリジナルの権限グループ名が変更できてしまうので、nameで判定も最善ではないですよね・・・・。
    ユーザーレベルは3.0系では非推奨なので、今のところ使わない方向で動いてます。
    (ユーザーレベルが必須ならよかったんですが・・・。)

    エラーがでないということだと全く関係ないかもしれませんがこちらは参考になりませんか?
    plugins_loadedというアクションフックで回避できるようですが
    もしかしたら権限カスタマイズプラグインがそちらに引っ掛けてから動作しているので…
    とかいうことがあるのかもしれません…

    jdbb さん
    ありがとうございます。

    なにかエラーが発生して、プラグインが作動しないとゆう質問ではないですが、プラグインで注意が必要な関数とplugins_loadedはとても使いそうです。

    ご紹介いただいてありがとうございます。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「【開発】プラグインでファイル生成と権限グループについて」には新たに返信することはできません。