WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

【Shortcode Ultimate】プラグインで未ログインユーザーに表示されるログインフォームを非表示にする方法

公開日: 使い方など

いろいろな装飾や効果をショートコードで簡単に表現できて超便利なWordpressプラグインの【Shortcode Ultimate】。私がサイトを作るときにはもう欠かせない存在になっています。

【Shortcode Ultimate】にはログインユーザーだけに表示できるコンテンツを作れるショートコードもありますので、会員制サイトの投稿や固定ページの本文中でログインした人にだけ見えるような表示ができるようになります。

ただ1つ個人的に残念なのは未ログインの人には「ログインが必要です」などの文字列とともにログインフォームが表示されてしまうこと。もちろん通常に使う場合なら別でフロントエンドログインさせる機能を持たせる必要がないので本当に重宝するのですが、例えば会員制サイトでないサイトで、自身の備忘録としてコードやメモなどをその記事の中に挿入したとき、未ログインユーザーには何も表示されないのがベストですよね?(そんな使い方しない?)

実例で言うとこのサイトの重要なカテゴリーであるWordpressプラグインの翻訳ファイルに関するページでは、自身が必要なときにいつでもダウンロードできるようにリンクを設置しています。翻訳ファイルは販売していますから、CSSで未ログインの人は非表示って書き方すると、ソース上は見えてるけど表示されていないだけの状態になるので、ソースを開いてリンクをクリックすれば・・・ダウンロードできてしまいます(いわゆる直ダウンロードっちゅうやつです)。プラグインの翻訳ファイルはWordpressでサイト作りをしている人以外必要な方はいませんし、何よりサイト制作会社などプロとしてやられている方が多いわけですから、そんなことは簡単にされてしまいます。「それなら右クリックを禁止すれば・・」と言われるでしょうけど、右クリック禁止が無駄だということはちょっと勉強すれば分かると思います(ここでは紹介しません)。

今回紹介する方法は【Shortcode Ultimate】の便利で不便な機能である「ログインしていない人にはメッセージとログイン画面を表示する」を利用して、ログインしていない人にはソース上でも内容を表示しない方法です。

前置きが長くなりましたが、やり方はとっても簡単ですのですぐに終わります・・・

【Shortcode Ultimate】プラグインで未ログインユーザーに表示されるログインフォームを非表示にする方法

ここまで読んでもう分かったという方はたくさんいるでしょうね。でもせっかくなので最後まで読んでくださいね。

メンバー(ログインした人)に表示するというのはそのまま使います。そして、未ログインの人にメッセージとログインフォームを表示するというのもそのままにします。要するにこのプラグイン自体の使い方はそのままです。

では何をするかというと・・・以下のコードをテーマのCSSへ追記するだけです。

/************** su 未ログインユーザーへのログイン案内を非表示 ***************/
.su-members {
      display: none;
 }
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします

もうお分かりですね。メッセージとログインフォームを表示するものを「非表示」にするんです。

「display:none」というCSSコードは、ソース上には表示するけど見た目には見えなくするというもの。つまり、ログインユーザーには見えて未ログインユーザーにはどこからも全く見えないようにするにはソース上でも別のものが表示されている必要があるんです。

そこでせっかく【Shortcode Ultimate】のメンバーショートコードでは未ログインの人に別のものを表示するという機能があるのですから、それ(メッセージとログインフォーム)を表示させといて、見た目に非表示にしちゃえってことなんです。

試しに前述した当サイトのプラグイン翻訳ファイルについての記事を表示して、ソース表示してみてください(ソース圧縮しているのでさらに見にくいとは思いますが興味があれば頑張って見てくださいね)。ちょうど記事中にある表の上に・・・【Shortcode Ultimate】で生成されたメッセージとログインのフォームが表示するよう記述されているはずです。

ログインしないとファイルが見えないはずなのになぜかダウンロードされてしまった・・・なんていう経験をお持ちの方はぜひ試してみてください。

さらに強固にするためには直接ダウンロードを禁止する方法などもいろいろなサイトで紹介されていますからそちらと合わせて設定してみてくださいね。

いちばんやさしいWordPressの教本 第4版 5.x対応 人気講師が教 える本格Webサイトの作り方 (「いちばんやさしい教本」シリーズ)
インプレス
大きな画面の操作手順で迷わない。人気のテーマで、パソコン&スマホ両対応のWebサイトを作れる!ソーシャルメディアとの連携やSEO対策、バックアップなどの運用面も丁寧に解説。
※表示している価格は単行本のものです
参考価格:1,738
※参考価格です。サービスやショップ、掲載時期などにより価格は異なりますのでご注意ください

WordPressのカスタマイズ・不具合対応などご相談ください

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

【スポンサーリンク】