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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

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

Q&A

1回答

2982閲覧

特定のユーザーのプロフィール情報を閲覧専用でログイン権限を設定するには

akkkkin

総合スコア83

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/02/18 11:04

編集2017/02/20 01:01

掲題の件で行き詰まっています。

特定のユーザーのプロフィール情報を閲覧専用で見れるように
ログイン権限を設定するにはどうすればよいのでしょうか?

例えば、

■ユーザー名:hogehoge
■パスワード:Password

で設定したユーザーのプロフィールだけ(他のユーザー一覧は隠す)を

閲覧専用で見れるように新たにアカウントを発行したいです。
そもそも可能なのでしょうか?

※閲覧・編集が可能なユーザーは管理者、hogehogeユーザーです。
新たに発行するアカウントは閲覧専用にしたいです。

ググって調べている限り、User Role Editorというプラグインで権限の範囲の設定はできるようなのですが、上記の解決には至らないように思えます。

もし、詳しい方がいらっしゃればご教示頂きたく思います。m(__)m

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

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

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

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

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

kei344

2017/02/18 15:42

「例え」のものは、他のユーザーも誰でも見ることが可能という事でしょうか。それとも本人のみ閲覧可能な本人の情報という事でしょうか。
akkkkin

2017/02/20 00:05

コメントありがとうございます。>「例え」のものは、他のユーザーも誰でも見ることが可能という事でしょうか。⇒閲覧・編集が可能なユーザーは管理者、hogehogeユーザーです。さらに閲覧専用hogehogeユーザーのプロフィールだけを見ることの出来るユーザーを発行するにはどうすればいいのかというご質問です。
guest

回答1

0

「特定の」がどういう運用かによりますが、一人のプロフィールを特定の権限保持者が見られるということであれば、
0. User Role Editor で「閲覧専用ロール」を作る
0. ユーザー作成時/作成後にそのロールを割り当てる
0. 固定ページなどで「hogehogeユーザー」のプロフィールを表示するページを作る
0. wp_get_current_user から閲覧ユーザーのロールを取得して、現在のユーザーが「閲覧専用ロール」を持っているかを確かめて表示するようにする

こんな感じではないかと。

【複数ユーザーの細かい権限管理をするなら「User Role Editor」tontotakumi.com】
http://tontotakumi.com/web-seisaku/multi-login/

【wp_get_current_user:WordPress私的マニュアル】
http://elearn.jp/wpman/function/wp_get_current_user.html

投稿2017/02/22 17:25

kei344

総合スコア69407

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

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

akkkkin

2017/02/25 09:02

回答ありがとうございます。 手順の3についての質問なのですが、現在、theme_my_loginというプラグインを使用し、 固定ページにプロフィール情報を表示させています。 User Role Editorで閲覧専用の権限(一般>readにしかチェックを入れていない状態)を作成し、プロフィールの入力を終えたアカウント(購読者権限)を管理者権限のアカウントで閲覧専用にしたのですが、プロフィールは変更できてしまいます。
kei344

2017/02/25 09:12

本人のプロフィールの編集権限は基本的に制限する機能がありません。(編集に対してフックして禁止したりすることは出来ます) > 固定ページにプロフィール情報を表示させています。 そういうことではなくて、他のユーザーが閲覧するためのページを作るという意味です。自身のプロフィールの編集を止めることについては回答していません。 「特定ユーザーのプロフィールを見るためのアカウントを作る」なら「theme_my_loginの固定ページのプロフィール情報」は閲覧者のみが見られる「自身の情報」なので関係ないでしょう。
akkkkin

2017/02/25 10:24

回答ありがとうございます。 >本人のプロフィールの編集権限は基本的に制限する機能がありません。(編集に対してフックして禁止したりすることは出来ます) なるほどです。例えば、閲覧用の権限をこのように設定することは可能なのでしょうか? >他のユーザーが閲覧するためのページを作る <?php $userinfo = wp_get_current_user( ); >をpage.phpに記述すればいいのでしょうか? たた、カスタムフィールドのプラグインを使用し、プロフィール項目を90項目くらいまで拡張しているので、defaultのプロフィール項目しか取得出来ないかと思います(申し訳ありません。情報不足で申し訳ありません)。
kei344

2017/02/25 11:03

> 閲覧用の権限をこのように設定することは可能なのでしょうか? プロフィールの編集をさせないということでしょうか。その場合編集時に権限を確認して拒否することと、編集ページへの直接のアクセスを禁止すれば出来ます。 > $userinfo = wp_get_current_user( ); 何をする目的で書くのでしょうか。「hogehogeユーザー」のプロフィールを表示するページを作ればいいのでは? 【get_user_meta:WordPress私的マニュアル】 https://elearn.jp/wpman/function/get_user_meta.html > プロフィール項目を90項目くらいまで拡張しているので、defaultのプロフィール項目しか取得出来ないかと思います どのプラグインを使用しているかわかりませんが、拡張しているのであっても、当然取得できます。そのためのプラグインでしょう。 Advanced Custom Fields では? 【ACF | Get values from a user】 https://www.advancedcustomfields.com/resources/how-to-get-values-from-a-user/
akkkkin

2017/02/25 11:12

返信ありがとうございます。 >「hogehogeユーザー」のプロフィールを表示するページを作ればいい これはコピペで固定ページに入力するということでしょうか? >プロフィールの編集をさせないということでしょうか。 そうです。このようにしたい目的として、外部の制作会社にプロフィール情報を共有したいのが目的です。その際、先方が誤って編集しちゃうと、情報が変更されるので、編集できないように共有したいです。
kei344

2017/02/25 11:20

> これはコピペで固定ページに入力するということでしょうか? 固定ページの作り方は「wordpress カスタムテンプレート 固定ページ」でぐぐってください。 > 外部の制作会社にプロフィール情報を共有したいのが目的です。 カスタム投稿タイプで「プロフィール」を作って、管理者にのみ編集権限をつければ事足りると思います。外部ユーザーとプロフィールの紐付けはカスタム投稿タイプ内のカスタムフィールドにユーザーIDをつければ出来ると思います。
akkkkin

2017/02/25 11:41 編集

返信ありがとうございます。 >固定ページの作り方は「wordpress カスタムテンプレート 固定ページ」でぐぐってください。 ググりました。 function.phpに mixed get_user_meta( int $user_id [ , string $key = '' [ , bool $single = false ] ] ) を記述。 そして、profile-page.phpファイルを作成し、その中に <?php the_author_meta( $field, $userID ); ?> でプロフィールを表示させるイメージでしょうか。 >カスタム投稿タイプで「プロフィール」を作って、管理者にのみ編集権限をつければ事足りると思います。 言葉足らずで申し訳ありません。制作会社には全てのユーザーの情報は見せたくないので、依頼するユーザーの情報のみ共有するようにしたいです。
akkkkin

2017/02/25 12:17 編集

追記です。 CPT UIというプラグインをイントールし、プロフィールの投稿タイプを作成しました。 この投稿タイプにプロフィールを表示させるにはユーザーIDをCPT UIの入力項目欄のどこかに記載する必要があるということでしょうか?
kei344

2017/02/25 12:31

とりあえず実現されたい内容から、かなりの工数が必要だと言えます。WordPressベースで組むのはそれなりの技術/経験が必要だと思います。 回答で提案した内容は「1人につき1ロール」を割り当てるという「特定の」場合になら使えますが、汎用的に「求人する人々」「応募する人々」をマッチングするようなものにはそのまま使えません。 求人情報のようなものでしょうか?それであればプラグインを探されて、それを利用するほうが手早いです。 「wordpress マッチング プラグイン」「wordpress 求人情報 プラグイン」などで探すと出てくるかもしれません。
akkkkin

2017/02/25 12:55 編集

回答ありがとうございます。 >求人情報のようなものでしょうか? 目的の詳細です。 A:BからHP制作を受け、外部のHP制作会社に依頼する人 B:HP制作を依頼する人 C:外部のHP制作会社 だとします。 1.HPを制作するにあたり、BにHPをつくるための情報を入力・画像をアップロード(プロフィール項目をつかう)してもらい、そろったらAに連絡がいく。 (ただし、プロフィールだけの情報では不足するのでACFで拡張) 2.Aは1で入力・アップロードした画像の情報がみれるアカウントをCに共有し、HP制作を依頼。 (ただし、編集・プロフィールを保存できる状態で共有すると手違いで編集・消される可能性があるので、閲覧だけできるようにしたいのとユーザー一覧が見れる状態ではなく、依頼するアカウントのみ共有したい)
akkkkin

2017/02/25 13:00 編集

追記:Bが情報の入力、画像アップロードが完了した時点で、そのアカウントを編集ができるアカウント⇒閲覧のみ可能なアカウント(プロフィールの編集ができない)に権限を変更することは可能でしょうか? 入力情報が完了したら権限を変更するだけの方法が工数がかからなく早いような気がしたので相談させていただきました。
akkkkin

2017/02/25 13:24

こんなのは実現可能でしょうか? 特定の権限(例えば閲覧専用(viewer))に設定した場合のみプロフィールを更新ボタンを表示させない。 ⇒これだと権限を変更しておけばアカウントを共有しても勝手にプロフィール情報を書き換えられないかとおもうのですがいかがでしょうか?
kei344

2017/02/25 14:33

> こんなのは実現可能でしょうか? 不可能とは言いませんが、WordPressベースで組むのはそれなりの技術/経験が必要だと思います。WordPressにこだわらず、制作会社に依頼されたほうが良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問