新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

WordPressでコンテンツの一部(記事途中から等)だけに認証(閲覧制限)をかける方法

      2016/05/05

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

まさか、当ブログにこのシステムを載せるとは思っていませんでした。
が、結構、際どいネタなどもやっているので、ここでひとつ、このシステムを導入したのは良かったかもしれません。

どんなシステムかというと、記事(コンテンツ)の一部をログインしていないと見れない状態にするシステムです。
ログインというのはWordPressのアカウントでのことになりますので、管理者アカウントしか存在しない当ブログなどでは、管理者としてログインしていないと該当の記事を読むことはできなくなるということです。

ただし、ゲストアカウント等を用意してそのアカウントをお伝えすることで一部の人にはお見せすることは可能にはなるんですけどね。

セキュリティ
鍵かけちゃいます!

スポンサーリンク
 

とっても簡単でした。

まずは、該当のテーマのfunctions.phpにソースを書き込みます。

テーマというのはWordPressのデザイン、外観等を司るテンプレートをひとまとめにしたものです。
多くはPHPファイルでできていて「wp-content」→「themes」に収まっています。
この中のfunctions.phpにスクリプトを書き込むわけです。

以下の手順でWordPress上で可能です。

  1. 「外観」→「テーマの編集」
    記事内アクセス制限01
  2. (編集したいテーマをプルダウンで選んで「選択」をクリック)←初期値がいま使っているテーマになっているはず。
    「テーマのための関数 functions.php」(どんなテーマにも必ずあるはずです)をクリック。
    記事内アクセス制限02
  3. ここに、以下のソースを書き込みます。末尾にでも書き込んでおけばいいと思います。
    function login_read_more($atts, $content = null) {
        if (is_user_logged_in() && !is_null( $content ) && !is_feed()) {
            return $content;
        } else {
            return 'ここは好きな言葉に変えられます';
        }
    }
    add_shortcode('auth', 'login_read_more');
  4. こんな感じですね。
    一応、わかりやすくコメント(記事途中から非公開)も付けてます。
    記事内アクセス制限03
  5. 最期に「ファイルを更新」をクリック。

これで、初期設定は完了。

そして、記事を書くときに表示させたくない部分を[auth]非表示部分[/auth]で囲みます。

具体的にはこんな感じです。

記事内アクセス制限04

ソース(テキスト)編集でなくてもOK。

ちなみに、上記タイトルにある[auth][/auth]をコピペしてもダメです。
ちゃんとした書き方をすると上記「[auth]非表示部分[/auth]」が消えてしまうので本来「[」と「]」であるべきところをそれぞれ全角の「[」、「]」に変えています。
角カッコは半角の角カッコ([])ですのでお間違いないように。

以上で完了です。

実際見た時はこんな感じ。

記事内アクセス制限05

本来、記事になっているところがプログラムで設定した「続きを読むにはログインしてね」になっています。

なお、管理アカウントでログインしているときはこうです。

記事内アクセス制限06

[autu]~[/auth]で囲んだ部分がちゃんと表示されて見れるようになります。
以上、非常に簡単ですね。

これで、全体を非公開にしなくても部分的に非公開にさせることができるようになりました。
前述のとおり、ゲストアカウントを用意して、ゲストでログインさせるようにすれば管理者以外の一般ユーザーでも見ることは可能になりますので、この辺りをうまく仕組み化してあげると、有料コンテンツなんてのもできちゃうかもしれません。

自分、そんなのやるつもりありませんから。

以下のサイトを参考にさせていただきました。
ありがとうございました!

情報源: WordPressでコンテンツの一部だけに認証をかける | Firegoby

プログラム作者さんはこういうの使うのアダルト系くらいかなぁなんて言ってましたが、アダルト系じゃなくてもこういうの需要あるんですよ。
過去にlivedoorブログの時は何回か似たようなことやってましたし。

そうか、その当時の記事もこれ使えばWordPress上でも完全再現できるのか。

いや、厳密にはログイン用アカウントも用意してあげないとだから無理ですね。
livedoorブログの時はmixiアカウントやオープンID等でもログイン、閲覧できましたから。

そこまでやろうとすると結構な工数かかっちゃうような気がしますねぇ。。ってか、可能なのか?

 - WordPress, セキュリティ , , , , , ,

アドセンス広告メイン

Comment

  1. […] メモメモ WordPressでコンテンツの一部(記事途中から等)だけに認証(閲覧制限)をかける方法 chihochu.jp/ichibu-ninsho/ 試してみて便利だとは思ったけど「ログイン」させるというのが難点。 […]

Message

メールアドレスが公開されることはありません。

  関連記事

スパムコメント対策の最終手段、国外IPアドレス経由の投稿を禁止した

1年以上前の記事です。内容が古い可能性があります。スパムちゃんぷるーが終了して案 …

佐藤さんからLINE(ライン)で友だち申請が来たので答えたらスパムだった

1年以上前の記事です。内容が古い可能性があります。日本で一番多い苗字は鈴木だそう …

もうMcAfeeには騙されないぞ!!

1年以上前の記事です。内容が古い可能性があります。かつて、勝手にクレジットカード …

no image
DNSというシステム(プロトコル)自体に脆弱性があった

1年以上前の記事です。内容が古い可能性があります。何とも驚きの(というかなんとな …

アップデートで予約投稿(自動投稿)ができなくなった?「更新の必要はありません この WordPress のデータベースはすでに最新のものです」と出て先へ進めなくなったら危険

1年以上前の記事です。内容が古い可能性があります。すみません。 ついに毎日更新を …

no image
Bluetoothはハックの危険度が高い

1年以上前の記事です。内容が古い可能性があります。今やWi-Fi(ワイファイ)と …

no image
「簡易BBS2000」にファイル情報漏えいの脆弱性

1年以上前の記事です。内容が古い可能性があります。マジですか? これベースの簡易 …

ここまで作りこんで何がやりたいんだ!なスパム

1年以上前の記事です。内容が古い可能性があります。久しぶりのスパム晒しシリーズ。 …

no image
ウイルスセキュリティ

1年以上前の記事です。内容が古い可能性があります。McAfeeの期限切れが近づい …

スマートフォン(Android)のウイルス対策アプリは一般権限で動いているらしい

1年以上前の記事です。内容が古い可能性があります。ええっ! と思うような記事。ス …

血液型オヤジ