それぞれの会員だけが自分だけの修正できるページを提供したい。
-
以前、似たような投稿がありましたが、こちらはご覧になりましたか?
「固定ページを1ページだけ作らせたい。」
http://ja.forums.wordpress.org/topic/11942?replies=4sensensenさんがおっしゃる「それぞれ会員だけが自分だけの修正できるページ」が具体的に何をされたいのか分かりません。
もっと具体的な内容を提示すれば、誰かが回答するかもしれません。
gatespaceさん、
ご連絡ありがとうございます。
以前もgooglemapの件でご連絡頂き、その時は大変お世話になりました。具体的に私が作りたいサイトは
以下サイトです
「http://ramendb.supleks.jp/」これは評価を投稿するユーザーと、
店舗を登録する店舗ユーザーとで別れています。今回、投稿するユーザーはアカウントを作成させるつもりはございません。
店舗を編集することができる「店舗ユーザー」を作成するようにしたいのです。
流れとしては、
一度店舗ユーザーの申し込みを頂いたら、管理者(私)が専用のページ(投稿記事)を作り、
その後、ページを作った報告をし、
店舗ユーザーはWPのログインをすると、その専用のページ(投稿記事)の
カスタムフィールド値のみ変更出来て店舗情報を変更することが出来る
ようにしたいのですが、、、
「固定ページを1ページだけ作らせたい。」
http://ja.forums.wordpress.org/topic/11942?replies=4を見る限り、私の要件を叶えるようなプラグインは無さそうでかね、、、
仕組みそのものを変更することは難しいと思いますが、
ユーザーさんには専用ページのアドレスのみを教えて、
管理画面のそのほかのメニューは見せないようにすればいいのではないかと思いますが、
そういうことではないのでしょうか?固定ページの編集時のアドレスはおよそ以下のようになるかと思います。
サイトのアドレス/wp-admin/post.php?post=****&action=edit
ログインしていない状態で、そのアドレスにアクセスすると、
ログイン画面でユーザー名などを入力してログインすると
該当のページが開いた状態になります。あとは、メニュー等を表示させないようにすれば、
そこそこWordpressに詳しい方でなければ、提供されたページ以外の部分は
編集できないようにできるのではないかと思いますが、いかがでしょうか?そういうことではないですか?
「簡単に」プラグインのみで実現するのは難しいですが、できなくはないです。
ざっくりと流れだけですが。
- 管理者がつくる店舗毎の専用のページは固定ページで作ります。
カスタムフィールドで(後から作成する)カスタム投稿タイプのIDを入力するような欄を作っておきます。 - WordPressのユーザー権限グループで「店舗ユーザー」のみのグループを作る。
プラグインなら「User Role Editor」など。
この際、WordPressデフォルトの「投稿者」をベースにするのが良いかと思います(ファイルアップロード可。公開可能。他のユーザーの投稿は編集不可)
「寄稿者」をベースにすると、勝手に公開できませんが、ファイルのアップロードもできません。
どのように運用するかで決めてみてください。 - カスタム投稿タイプを作ります。「Custom Post Type UI」などでOK。
カスタムフィールドにしないのは、店舗毎の専用のページ内の本文などを触って欲しくないからです。
カスタム投稿タイプを作成するときに「Custom Post Type UI」であれば「一般公開(public)」と「リライト(rewrite)」を「False」にしておいてください。
こうすると単体の記事を投稿や固定ページのように表示できなくなります。
定型のフォーマットを使いたいときは、このカスタム投稿タイプにカスタムフィールドを追加してください。 - 「店舗毎の専用のページ」用のテンプレートを作っておきます。固定ページであれば投稿時にテンプレートを選択できます。
専用のテンプレート内に、固定ページで入力したカスタムフィールドの値(カスタム投稿タイプの投稿ID)を基に、先ほど作ったカスタム投稿タイプのデータを埋め込める様にしておきます。
ここはプラグインではできないので、自分でテンプレートタグを書くようになります。
ダッシュボードで余計なメニューが表示されるのであれば「Adminimize」というプラグインで調節可能です。(ただしデメリットもあります)
ここはこちらの投稿も参考にしてみてください。
「寄稿者ユーザー側のダッシュボード上いくつかのボタンを消したい」
http://ja.forums.wordpress.org/topic/12576?replies=4大まかな流れを書きましたが、「記事単体を表示させないカスタム投稿タイプ」は、「WordPressの教科書」という本にも具体例として載っているので参考になさってみてください。
ご連絡遅くなって申し訳ございません
Pineapplenさん>ありがとうございます。確かに理論上だと上記の方法でいけそうな気がします!!
gatespaceさん>店舗用のページは固定ページで作り、その固定ページに対してコメント(レビュー)することは可能ですよね?gatespaceさんの方法を読み解いてやってみようと思いますが、3、4辺りのカスタム投稿タイプあたりで躓いています^^;
>店舗毎の専用のページ内の本文などを触って欲しくないからです。
とありましたが、テンプレートにしておいてそのテンプレートを触らないようにすれば良いのではとも考えました。
>カスタム投稿タイプのIDを入力するような欄を作っておきます。
上の因果関係もまだ理解できていないです^^;>専用のテンプレート内に、固定ページで入力したカスタムフィールドの値(カスタム投稿タイプの投稿ID)を基に、先ほど作ったカスタム投稿タイプのデータを埋め込める様にしておきます。
カスタムフィールド値とカスタム投稿タイプのデータを紐付ける感じでよろしいでしょうか?
カスタムフィールド値は店舗の管理者が入力する値ですよね?
少し煩雑な気もしますが、
というかそもそも解釈は合っているのか不安です^^;もう少し頑張って読み解いてみようと思います、、、
ありがとうございました!!
gatespace様
冷静に考えて一点問題がございました。
店舗ページを固定ページで作り、店舗運営者はその固定ページを編集できるご説明でしたが、
これは固定ページではなく、カスタム投稿記事でも良いのでしょうか。要するに、記事に対してのレビュー、コメントができるようにしたいので、
店舗ページはカスタム投稿記事じゃないと厳しいと思いました。
固定ページに対してレビュー、コメントはできないと思ったので、、、となるとカスタム投稿記事にした場合、
ご説明して頂いた上記の流れでは制作は厳しいでしょうか。少し分かりづらい文章になってしまい申し訳ございません
店舗用のページは固定ページで作り、その固定ページに対してコメント(レビュー)することは可能ですよね?
可能です。
テンプレートにしておいてそのテンプレートを触らないようにすれば良いのではとも考えました。
運用上はそれでもかまいませんが、触る人もいますよ。
>カスタム投稿タイプのIDを入力するような欄を作っておきます。
上の因果関係もまだ理解できていないです^^;>専用のテンプレート内に、固定ページで入力したカスタムフィールドの値(カスタム投稿タイプの投稿ID)を基に、先ほど作ったカスタム投稿タイプのデータを埋め込める様にしておきます。
カスタムフィールド値とカスタム投稿タイプのデータを紐付ける感じでよろしいでしょうか?
カスタムフィールド値は店舗の管理者が入力する値ですよね?固定ページ(店舗ページメイン、管理者のみ編集可)にカスタム投稿(店舗の担当者が自由に触れる)のIDを入力して、実際に表示させる時に紐付けられるようにしましょう、という話です。
まぁ、店舗の分だけテンプレートを作っても良いのでしょうが、私はそれよりも1つのテンプレートを複数の店舗で使い回せるよう、前者を取ります。店舗ページを固定ページで作り、店舗運営者はその固定ページを編集できるご説明でしたが、
これは固定ページではなく、カスタム投稿記事でも良いのでしょうか。違います。
私が提案した方法は、管理者がつくる店舗毎の専用のページは固定ページ、店舗運営者が触れるのはカスタム投稿タイプというように分けましょう、という話です。固定ページはもともとコメントつけられます。
カスタム投稿の方はコメント無くても良いんです。
なぜなら個別ページを持たないように「一般公開(public)」と「リライト(rewrite)」を「False」にするからです。
じゃぁ、入力したカスタム投稿タイプの記事はどこに表示されるのかというと、紐付けられた「管理者がつくる店舗毎の専用のページ」です。先の投稿にも書きましたが、私の提案している方法は
「簡単に」プラグインのみで実現するのは難しいですが、できなくはないです。
という方法です。
CMSとして運用する場合、「手順書通りにやってください」とルールを決めても、読まない・守らない人もいます。
サイトを設計する段階で、想定外の操作をされた時なるべく影響が少なくなるようにする、あるいは触って欲しくないところははじめから触らせない、というのが必要かと思いますが、私の書いたのはそういう方法です。gatespaceさん、
ご連絡ありがとうございます!なんとか理解できたような気がします!
固定ページでカスタムフィールド値を変更するだけでは、
テンプレートの選択肢をいじる人は絶対にいるので、
単純に営業時間や値段、メッセージのみ修正できるようにするために、店舗用の固定ページを共通で持たせ、
店舗毎に変動する、かつ店舗オーナーが個人で修正できる
値段などの値を、カスタム投稿タイプの投稿タイプにカスタムフィールドを追加することで
定型で入力することができる。カスタム投稿タイプを
「一般公開(public)」と「リライト(rewrite)」を「False」にすると、
余計なこと、いじられないで済む安全にシンプルに第三者が編集できるように
店舗用の固定ページと、カスタム投稿とで分ける
最終的な紐付けはカスタム投稿IDなんですが、
管理者が固定ページのカスタムフィールド値に
適当にこの店舗は「7」としたら、その旨を編集者伝えて編集者は
カスタム投稿にあるカスタムフィールド値、例えばIDという項目を作っておき
「7」を入力することで
紐づけられ表示されるという流れでよいでしょうか?
上の流れだと、店舗毎に固定ページを作る必要があり、
カスタム投稿IDが重複しないように管理する必要があるような気がしましたが、
いかがでしょうか?あとちょっとで何とか理解できそうです^^;
カスタム投稿タイプを
「一般公開(public)」と「リライト(rewrite)」を「False」にすると、
余計なこと、いじられないで済むちょっと認識が違ってます。先にも書きましたが、「カスタム投稿タイプをつくって余計なとこを触られないようにする」なら、ここまでしなくても良いのです。
ただ、そのままだと固定ページにカスタム投稿タイプの投稿を読み込ませるようにしても、カスタム投稿タイプの個別記事もできてしまうので(=検索に引っかかったりする)、個別ページを持たないように「一般公開(public)」と「リライト(rewrite)」を「False」にするのです。後はおおむねOKです。
上の流れだと、店舗毎に固定ページを作る必要があり、
カスタム投稿IDが重複しないように管理する必要があるような気がしましたが、
いかがでしょうか?そうです。
基本的にsensensenさんが最初に投稿された一度店舗ユーザーの申し込みを頂いたら、管理者(私)が専用のページ(投稿記事)を作り、
に沿っています。
デフォルトのカスタムフィールドでは自分でキーを決めたり、値(ここでは特定のカスタム投稿タイプの記事のID)を入れる必要がありますが、カスタムフィールドを使いやすくするAdvanced Custom Fieldsを使えば、固定ページの記事入力画面でカスタム投稿タイプの記事を検索してリンクさせることも可能です。 - 管理者がつくる店舗毎の専用のページは固定ページで作ります。
- トピック「それぞれの会員だけが自分だけの修正できるページを提供したい。」には新たに返信することはできません。