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

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

ただいまの
回答率

90.51%

  • PHP

    20396questions

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

  • WordPress

    7233questions

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

  • MySQL

    5871questions

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

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

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 660

akkkkin

score 71

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

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

例えば、

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

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

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

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2017/02/19 00:42

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

    キャンセル

  • akkkkin

    2017/02/20 09:05

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

    キャンセル

回答 1

+3

「特定の」がどういう運用かによりますが、一人のプロフィールを特定の権限保持者が見られるということであれば、

  1. User Role Editor で「閲覧専用ロール」を作る
  2. ユーザー作成時/作成後にそのロールを割り当てる
  3. 固定ページなどで「hogehogeユーザー」のプロフィールを表示するページを作る
  4. 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/25 18:02

    回答ありがとうございます。
    手順の3についての質問なのですが、現在、theme_my_loginというプラグインを使用し、
    固定ページにプロフィール情報を表示させています。

    User Role Editorで閲覧専用の権限(一般>readにしかチェックを入れていない状態)を作成し、プロフィールの入力を終えたアカウント(購読者権限)を管理者権限のアカウントで閲覧専用にしたのですが、プロフィールは変更できてしまいます。


    キャンセル

  • 2017/02/25 18:12

    本人のプロフィールの編集権限は基本的に制限する機能がありません。(編集に対してフックして禁止したりすることは出来ます)

    > 固定ページにプロフィール情報を表示させています。
    そういうことではなくて、他のユーザーが閲覧するためのページを作るという意味です。自身のプロフィールの編集を止めることについては回答していません。

    「特定ユーザーのプロフィールを見るためのアカウントを作る」なら「theme_my_loginの固定ページのプロフィール情報」は閲覧者のみが見られる「自身の情報」なので関係ないでしょう。

    キャンセル

  • 2017/02/25 19:24


    回答ありがとうございます。

    >本人のプロフィールの編集権限は基本的に制限する機能がありません。(編集に対してフックして禁止したりすることは出来ます)
    なるほどです。例えば、閲覧用の権限をこのように設定することは可能なのでしょうか?

    >他のユーザーが閲覧するためのページを作る
    <?php $userinfo = wp_get_current_user( ); >をpage.phpに記述すればいいのでしょうか?
    たた、カスタムフィールドのプラグインを使用し、プロフィール項目を90項目くらいまで拡張しているので、defaultのプロフィール項目しか取得出来ないかと思います(申し訳ありません。情報不足で申し訳ありません)。

    キャンセル

  • 2017/02/25 20: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/

    キャンセル

  • 2017/02/25 20:12

    返信ありがとうございます。

    >「hogehogeユーザー」のプロフィールを表示するページを作ればいい
    これはコピペで固定ページに入力するということでしょうか?

    >プロフィールの編集をさせないということでしょうか。
    そうです。このようにしたい目的として、外部の制作会社にプロフィール情報を共有したいのが目的です。その際、先方が誤って編集しちゃうと、情報が変更されるので、編集できないように共有したいです。

    キャンセル

  • 2017/02/25 20:20

    > これはコピペで固定ページに入力するということでしょうか?
    固定ページの作り方は「wordpress カスタムテンプレート 固定ページ」でぐぐってください。

    > 外部の制作会社にプロフィール情報を共有したいのが目的です。
    カスタム投稿タイプで「プロフィール」を作って、管理者にのみ編集権限をつければ事足りると思います。外部ユーザーとプロフィールの紐付けはカスタム投稿タイプ内のカスタムフィールドにユーザーIDをつければ出来ると思います。

    キャンセル

  • 2017/02/25 20:40 編集

    返信ありがとうございます。
    >固定ページの作り方は「wordpress カスタムテンプレート 固定ページ」でぐぐってください。
    ググりました。
    function.phpに
    mixed get_user_meta( int $user_id [ , string $key = '' [ , bool $single = false ] ] )
    を記述。

    そして、profile-page.phpファイルを作成し、その中に
    <?php the_author_meta( $field, $userID ); ?>
    でプロフィールを表示させるイメージでしょうか。

    >カスタム投稿タイプで「プロフィール」を作って、管理者にのみ編集権限をつければ事足りると思います。
    言葉足らずで申し訳ありません。制作会社には全てのユーザーの情報は見せたくないので、依頼するユーザーの情報のみ共有するようにしたいです。

    キャンセル

  • 2017/02/25 21:16 編集

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

    キャンセル

  • 2017/02/25 21:31

    とりあえず実現されたい内容から、かなりの工数が必要だと言えます。WordPressベースで組むのはそれなりの技術/経験が必要だと思います。

    回答で提案した内容は「1人につき1ロール」を割り当てるという「特定の」場合になら使えますが、汎用的に「求人する人々」「応募する人々」をマッチングするようなものにはそのまま使えません。

    求人情報のようなものでしょうか?それであればプラグインを探されて、それを利用するほうが手早いです。
    「wordpress マッチング プラグイン」「wordpress 求人情報 プラグイン」などで探すと出てくるかもしれません。

    キャンセル

  • 2017/02/25 21:52 編集

    回答ありがとうございます。

    >求人情報のようなものでしょうか?
    目的の詳細です。

    A:BからHP制作を受け、外部のHP制作会社に依頼する人 B:HP制作を依頼する人 C:外部のHP制作会社 だとします。

    1.HPを制作するにあたり、BにHPをつくるための情報を入力・画像をアップロード(プロフィール項目をつかう)してもらい、そろったらAに連絡がいく。
    (ただし、プロフィールだけの情報では不足するのでACFで拡張)

    2.Aは1で入力・アップロードした画像の情報がみれるアカウントをCに共有し、HP制作を依頼。
    (ただし、編集・プロフィールを保存できる状態で共有すると手違いで編集・消される可能性があるので、閲覧だけできるようにしたいのとユーザー一覧が見れる状態ではなく、依頼するアカウントのみ共有したい)

    キャンセル

  • 2017/02/25 21:58 編集

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

    キャンセル

  • 2017/02/25 22:24

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

    キャンセル

  • 2017/02/25 23:33

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

    キャンセル

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

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    【データベース】ユーザーと権限について!

    お世話になっております。Ezです。 データベースのユーザーと権限についてご教授ください。 先程最新のMariaDB(10.0.13)をCentOS6.5_64bitにインストー

  • 受付中

    ソーシャルログイン

    Facebookでログインして見れるWEBサイトを作りたいのですが、その方法が調べてもよくわかりませんでした。 何が必要なのかもよくわかっていません。 ログインした人の情報の取得方

  • 解決済

    Webページの閉鎖に関するセキュリティ

    サイト内に公開しているページを1つ閉鎖することになりました。 通常であればユーザーのために、新ページにリダイレクトをするのですが、正直無駄なファイルを残しておきたくありません。 し

  • 受付中

    プロフィール移行ができない

    フェイスブック個人アカウントをビジネスアカウントへ移行したいのですが・・・・・・・移行途中で ページの名前がプロフィールの名前と同一ではありません ・あなたのプロフィールをページに

  • 解決済

    nodeのTwitterのOauth認証が分からない

    現在node.jsでTwitterのOauth認証アプリを作っているのですが、 ネットで調べて出てくるソースの成功例が、自分のイメージしているものと違って困っています。 こちら

  • 解決済

    AWSのログインアカウントをもっと簡単に切り替えたい

    複数アカウントを切り替えて利用しています。 一度ログアウトしてログインし直すのが面倒です。 もっと簡単な方法はないでしょうか? iPhoneアプリのように簡単に切り替えが

  • 解決済

    windowsにはアカウントの識別名が2つあるんですか?

    windows10のhyper-vで仮想マシン(win10)を立ててクライアント側のwin10からリモートデスクトップ接続でつなごうとしたのですがつなげませんでした。 この問

  • 解決済

    共有フォルダに接続できない

    Windows Server 2012 R2 StandardのActive Directory環境下で、 ドメイン参加済みのクライアントPCにログイン後、ドメイン環境の共有フォル

同じタグがついた質問を見る

  • PHP

    20396questions

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

  • WordPress

    7233questions

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

  • MySQL

    5871questions

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