登録ユーザの個別ページ
というものが具体的にどういうものか(複数ページなのか、1ページだけなのか、どういった内容を表示させるのか、表示する内容は個人毎に違うのか、グルーピングできるのか)などといった仕様的なことが一切わからりませんが、今までの経験からすると、プラグインは、一部機能程度なら利用ができる、カスタマイズもそれなりの知識が必要だと思われます。
返信ありがとうございます。
言葉が足りず申し訳ありません。
https://twitter.com/Vara_3/status/298620465247838208/photo/1
上記に仕様図を上げてみましたので、よろしければご覧下さい。
ユーザ管理のプラグインとしては BuddyPress WP-members 等を候補に挙げております。
プラグインの導入自体は問題ないのですが、やはり、カスタマイズが必要な様ですね。
ともかく、チャレンジしてみます。
ありがとうございました。
見てもらう人がWordPressのユーザー(=ログインできる人)である必要はありますか?
WordPressは標準機能として、投稿記事にパスワードを設定できます。
各投稿にユニークなパスワードを指定していいれば、
特定のページの内容しか見られないサイトを作成できるのではないでしょうか?
Pineapplenさん、返信ありがとうございます。
構築の度合いはその方法が一番楽ではないかと思いますが、
http://hogehoge.hoge/wordpress/12345?=xxx
のようなパーマリンクをユーザーに知らせたとして
http://hogehoge.hoge/wordpress/
とブラウザ上でURLを入力されてしまったらTOPページと言いますか、
入り口を発見するのが容易すぎるのではないのかなあと思い、躊躇しています。
回避法は有るのでしょうか?
完全には無理でしょうけど、トップページで個別ページへのリンクなどを表示させないようにしたり、各投稿ページのスラッグもユニークなものにすれば類推されにくくは作れると思います。
なるほど、その線も考えてみます。
Pineapplenさん、Jim913さん、お時間割いてのアドバイスありがとうございました!
構築の目処が付くまで、もうしばらく解決済みには
チェックを入れないようにします。
購読者はユーザー名と同じスラッグの記事へリダイレクトさせる、なら以下でOK。
<?php
// 管理画面へのアクセス時に専用ページ(記事)へリダイレクトする
add_action( 'auth_redirect', 'my_auth_redirect' );
function my_auth_redirect( $user_id ) {
$user = get_user_by( 'id', $user_id );
if ( isset( $user->caps['subscriber'] ) && $user->caps['subscriber'] )
wp_redirect( home_url( $user->user_login ) );
}
// 公開側へのアクセス時に専用ページ(記事)へリダイレクトする
add_filter( 'request', 'my_request' );
function my_request( $query_vars ) {
if ( ! is_admin() ) {
auth_redirect(); // ログイン必須にする
if ( current_user_can( 'subscriber') )
$query_vars = array( 'name' => $GLOBALS['current_user']->user_login );
}
return $query_vars;
}
?>
メンバー系プラグインを使うならコンフリクトにご注意。
kzさん、返信遅くなってしまいました。
こ、これは、、、早速試してみます!
フックというのは、
OOするためにXXしなさい、そのためには■■な条件が必要です。
しかし、もし●●なら◎◎しなさい、
と記述するのですね。(非常に素人臭くて申し訳ないですが、、、)
ありがとうございました!
と、3日前に言い放った私でありますが、
Kzさん、上記に示していただいたコードはどこに記述するのがよいのでしょうか?
過去の事例をフォーラムで検索し、
functions.php最後尾やheader.phpのDOCTYPE宣言前など試してみましたが
画面が真白になってしまうばかりで。。。
アドバイスを戴くにもこちらの説明が足りず申し訳ないのですが、
自分の力不足と勉強不足を痛感する毎日でございます。
現状報告でございます。
kz様のコードをfunction.phpの最上部に記述してみたところ、ログイン画面へのリダイレクトが成功しました!が、今度はログインしてもしてもログイン画面へリダイレクトされる事になっております。原因及び解決策を模索中です。
報告です。
Kz様のコードを
固定ページのテンプレートファイルpage.phpの最上部
に記述したところ、思うような動作ができました!ありがとうございます。
ただ、ユーザーが A01, B02 と二人いた場合
hogehoge/wordpress/A01
とアクセスしたA01さんですがログイン後、
hogehoge/wordpress/B02
とURLを書き直すとB02さんのページが閲覧できてしまうので、
それぞれの個別ページに公開パスワードを設定する事で
登録ユーザの個別ページのみ閲覧でき、編集などの権限は与えず、
他のユーザのページは完全に閲覧できない仕組み
を実現した、という事にします。
この辺りはPineapplenさんのアドバイスを参考にしました!
今回、ユーザー名と固定ページのスラッグを同じにする事で個別ページを
判別、表示させましたが、個別ページにユニークな仕掛けを設置すれば、
スラッグでなくても判別が可能になるのかしら・・・?とか思ったので、
今後そちらの方面も探ってみようかと思います。
アドバイスを下さった方々には本当に感謝します。ありがとうございました。