サポート » 使い方全般 » 本来の投稿タイプとは別の投稿タイプで、管理者以外は投稿できないよう

  • 解決済 waterfull

    (@waterfull)


    3人でサイトを管理しています。
    1人は管理者権限で、残りの2人は投稿者権限にしています。

    また、以下のコードを使って、本来の投稿とは別の投稿を作成しています。

    functions.phpに記述

    register_post_type(
      'toukou',
      array(
        'label' => '投稿',
        'hierarchical' => false,
        'public' => true,
        'has_archive' => true,
        'supports' => array(
          'title',
          'editor'
        )
      )
    );

    このコードで本来の投稿とは別の投稿画面で投稿できるようにしています。
    ここでの別の投稿についての質問なのですが、

    別の投稿画面について、
    管理者だけ入ることが出来て、投稿者権限の人は入れないようにしたいです。
    現状だと、別の投稿画面にも投稿者権限の人が入ることが出来ます。

    プラグインでの制限を検討しましたが、
    投稿を制限すると、別の投稿画面だけでなく、本来の投稿画面へ入ることも
    制限されてしまうので困っています。

    そのため、出来る限りfunctions.phpなどへの記述によって制限を
    かけたいと考えています。

    調べましたが、コードなどを見つけることも出来ませんでした。

    コードでの制限がわかる方、ぜひ教えていただければと思います。

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

    (@jim912)

    register_post_type のパラメーターで capability_type を page で指定すると、固定ページと同じ操作権限が必要になるため、投稿者権限では操作できないようになります。
    固定ページとも切り分けたい場合は、 capability_type を toukou など独自のものとし、User Role Editor など権限をカスタマイズできるプラグインを利用して、必要な権限の作成と割り当てを行う必要があります。

    jim912さんのアドバイスを考慮した結果、
    固定ページとも切り分け、
    user role editorで権限をカスタマイズすることにしました。

    ただ、以下のコードにしてみたのですが、
    投稿の操作権限との変化が見られませんでした。

    register_post_type(
      'toukou',
      array(
        'label' => '投稿',
        'hierarchical' => false,
        'capability_type' => 'original',
        'public' => true,
        'has_archive' => true,
        'supports' => array(
          'title',
          'editor'
        )
      )
    );

    私の初歩的なミスなのかもしれませんが、
    どのようにして、固定ページとの切り分けを行うのが
    良いのでしょうか。

    モデレーター jim912

    (@jim912)

    capability_type を original にしたのであれば、以下の権限を User Role Editor で追加し、適宜、権限グループ(ロール)に割り当てる必要があります。

    delete_others_originals
    delete_originals
    delete_private_originals
    delete_published_originals
    edit_others_originals
    edit_originals
    edit_private_originals
    edit_published_originals
    publish_originals
    read_private_originals

    返信が遅くなってしまい、
    申し訳ありませんでした。

    capability_typeをoriginalにしたので、
    jim912さんが上記に書いてくださいました権限を
    user role editorのadd capabilityで追加し、

    管理者以外(今回は投稿者)のチェックをはずすことで、
    無事入らないようにすることが出来ました。

    目的は達成できましたので、解決済みとさせていただきます。

    自分で調べてもわからなかったのですが、
    もし、権限について、
    上記の10コ以外にも必要なものがあるようでしたら、
    また教えていただけると幸いです。

    ありがとうございました。

    モデレーター gatespace

    (@gatespace)

    以前ブログにまとめたので、参考にどうぞ。
    カスタム投稿タイプと専用のユーザー権限(完結編)

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「本来の投稿タイプとは別の投稿タイプで、管理者以外は投稿できないよう」には新たに返信することはできません。