ログインを要求するためにWordPressのページを制限する

2013 PMに07 01 12.23.52ショットスクリーン

login_lock.jpg今週、私たちはクライアントサイトにカスタムテーマを実装することを終えていました、そして彼らは私たちがいくつかのページが登録された購読者に制限されるある種の相互作用を構築することを要求しました。 最初はサードパーティのプラグインを実装することを考えましたが、ソリューションは実際には非常に単純でした。

まず、ページテンプレートを新しいファイルにコピーしました(任意の名前で構いません。php拡張子を維持するだけです)。 ページの上部で、必ずページにコメントして、テンプレートエディタで名前で表示できるようにしてください。

 

次に、コンテンツを表示するページのコード内の行を探します。 次のようになります。

 

次に、その行をコードで囲む必要があります。

サブスクライバーのみ申し訳ありませんが、アクセスしようとしているコンテンツはサブスクライバーのみに制限されています。

コードは、セッションをチェックして、ユーザーがWordPressサイトにログインしているかどうかを確認することから始まります。 ログインしている場合は、コンテンツが表示されます。 ログインしていない場合は、制限されたコンテンツにアクセスしようとしていることを示すメッセージが表示されます。

このページを利用するには、を選択する必要があります サブスクライバーのみ ページのオプションの詳細セクション(サイドバー)にあるページテンプレート。 これにより、ログインしている読者にページが制限されます。

本当に凝ったものにしたい場合は、サイドバーにログインとログアウトの方法を追加することもできます。

">ログアウト/wp-login.php">お客様ログイン

28のコメント

  1. 1
  2. 2
  3. 3
    • 4

      こんにちはパルサ、

      これは非常に簡単です。同じ手法をページのヘッダーに追加して、基本的に…if(useridがなく、ページがpagenameと等しくない)の場合、ヘッダーをログインページに転送します。

      ダグ

  4. 5

    素晴らしいエレガントなソリューション! 必要なものだけを、外部ログインシステムの構築を真剣に検討していました。
    この岩!

  5. 6

    これは、学習している人にとってはユーザーフレンドリーではありません。 まったくユーザーフレンドリーではありません!!!!

    • 7
      • 8

        それはユーザーフレンドリーではありませんが、それは大丈夫です…私がしていることになっていることのいくつかの写真が役立つように感じます。 そうでなければ…私はそれがうまくいくまで何かを試すつもりです!

        • 9

          page.phpをコピーし、page2.phpの名前を変更して上記のコードを挿入し、ファイルを保存し、content / theme / whateveritiscalledにアップロードし直し、投稿に移動するか、デフォルトのページレイアウトをpage2.phpに変更します。 新しいページスタイル/レイアウトを作成する必要はありません。使用するページスタイル/レイアウトをコピーして名前を変更するだけです。 したがって、fullwidth.phpはfullwidth2.phpと同じくらい単純です。

      • 10

        さて、インターネット上で何度も試みて他のチュートリアルを見た後…新しいページテンプレートを作成することが私の問題であることがわかりました。 テキストエディタで作成してアップロードしようとしています…どこですか? どこに行けばいいのかわからない。 アップロードするこの秘密の場所が見つからないようです。

        • 11

          本当に、LaRocque! そこにファイルをアップロードできるように、FTPプログラムとWebサイトのテーマフォルダへのアクセスが必要です。 現在、管理画面からそれを行う方法はありません。 XNUMXつの例外は、新しいファイルを作成できる「ファイルマネージャー」プラグインをインストールすることです。 ただし、注意してください。 

  6. 12
  7. 13
  8. 14
  9. 15
    • 16

      ユーザーがログインしているかどうかを確認するだけです。 ただし、上記で定義した方法では、レベルをカスタマイズしたい場合は、最終的にアクセス許可レベルを使用できるようになります。

  10. 17
  11. 18
  12. 19

    OK、それでは噛みます…権限をチェックできるようにこれをどのように変更しますか?

    たとえば、誰でも独自の「サブスクライバー」ユーザー名を作成して返信を投稿できるようにしたいのです。
    しかし、管理者によって指定されたユーザーにのみ、「サブスクライバーのみ」ページへのアクセスを許可しますか?

  13. 20
  14. 21

    ダグラス–私はあなたのコードを使用しました–そしてほとんどの場合それはうまく機能します! 私が抱えている問題は、ログアウトリンクが存在しないサイトに戻ることです。 ログアウトコードを機能させるために、実際にWeb全体から複数のワードプレスコードを試しました。 。 。 ただし、ユーザーは引き続きログインしたままで、戻り値は//wp-login.php?redirect_to =“> log%20in%20%20%20%20%20%20%20%20%20%20%20%20です。 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20

    何かご意見は?

    • 22

      コードがブラウザからコピーされたときに、たくさんのHTMLスペースが追加されたようです。 コードをメモ帳またはテキストパッドにコピーしてから、テンプレートにコピーして、そのようなものを取り除きます。

  15. 23

    さて、これはまさに私がしなければならないことですが、私にはXNUMXつの質問があります。 サブスクライバーでない場合、コンテンツにアクセスできるように「サインイン」または「サブスクライブ」ボックスを表示するにはどうすればよいですか?

    感謝

  16. 25

    コードをありがとう。 人々は私に腹を立てるでしょうが、彼らはファイルを見つけやすくするために誰もが自由にアクセスできないようにしたいときにログインすることを想定しています。

  17. 26

    この方法はセッションハイジャックの対象となるようです。 ログインCookieは安全な領域にいる間に追加されますが、wordpressはこれを安全でないCookieとして提供するため、ユーザーが暗号化されていないサイトの一部に戻った場合でも引き続き提供されます。

  18. 28

    ユーザーがメンバーの場合、ifステートメントを使用してdivコンテナーを実行していただきありがとうございます
    あなたの解決策は素晴らしかった

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.