WordPressでユーザーのIPアドレスを表示する方法

多くの読者から、WordPress ウェブサイトでユーザーアクティビティを追跡する方法について質問されます。しかし、別のシナリオもあります。ユーザーが自身のIPアドレスを必要とする場合はどうでしょうか?

例えば、顧客にIPアドレスを入力してもらう必要がある製品を販売している場合や、IPアドレスや同様のセキュリティトピックを扱うチュートリアルを書いている場合などです。その場合、ユーザー固有のIPアドレスをサイトに表示することは、時間を節約し、ユーザーエクスペリエンスを向上させるのに役立ちます。

この記事では、WordPress ウェブサイトにユーザーのIPアドレスを表示する方法を説明します。

WordPressでユーザーのIPアドレスを表示する方法

WordPressでユーザーのIPアドレスを表示する理由

IPアドレス(インターネットプロトコル)は、ネットワーク上のハードウェアデバイスを識別するために使用される、ピリオドで区切られた数字の文字列です。これは、訪問者のIPアドレスが、スマートフォン、コンピューター、タブレットなど、インターネットに接続するために使用しているデバイスを単純に識別することを意味します。

訪問者が自分のIPアドレスを知る必要がある多くのケースがあります。例えば、ファイアウォールのようなWordPressセキュリティプラグインなどのソフトウェアを設定する際に、ユーザーは固有のIPアドレスを入力する必要がある場合があります。

この種のソフトウェアを販売している場合、オンラインドキュメントにユーザー固有のIPアドレスを表示することで、顧客が新しいソフトウェアをセットアップするのに役立ちます。

ソフトウェア自体を販売していなくても、多くのWordPressブロガーはサードパーティ製ソフトウェアの使用方法に関する役立つガイドを公開しています。読者がIPアドレスを入力する必要があるチュートリアルを書いている場合、使用する必要がある正確なIPアドレスを表示することで、はるかに優れたチュートリアルを作成できます。

この投稿では、WordPress ウェブサイトにユーザーのIPアドレスを表示するいくつかの方法を紹介します。特定のメソッドに直接ジャンプしたい場合は、以下のリンクを使用できます。

1. プラグインを使用してWordPressで訪問者のIPアドレスを表示する方法

WordPress でユーザーのIPアドレスを表示する最も簡単な方法は、User IP and Location プラグインを使用することです。ショートコードを使用して、任意のページ、投稿、またはウィジェット対応エリアに訪問者のIPアドレスを表示できるシンプルなプラグインです。

まず、プラグインをインストールして有効にする必要があります。ヘルプが必要な場合は、WordPressプラグインのインストール方法に関するガイドを参照してください。

有効化したら、訪問者のIPアドレスを表示したいページ、投稿、またはウィジェット対応エリアを開くだけです。次に、「プラス」追加ブロックアイコンをクリックして「ショートコード」を検索します。

右側のブロックが表示されたら、クリックして WordPress ウェブサイト に追加します。

ショートコードを使用してWordPressウェブサイトに訪問者のIPアドレスを表示する

次に、[userip_location type=ip]ショートコードを入力します。ショートコードの使用方法の詳細については、WordPressでショートコードを追加する方法に関する初心者向けガイドをご覧ください。

それが完了したら、「更新」または「公開」ボタンをクリックして変更を保存します。

WordPressウェブサイトに訪問者のIPアドレスを表示する

このページにアクセスすると、独自のIPアドレスが表示されます。

2. コードを使用してWordPressでユーザーのIPアドレスを表示する方法

コードを使用して訪問者のIPアドレスを表示することもできます。ただし、このコードをサイトに直接追加することは推奨しません。わずかな間違いでも一般的なWordPressのエラーを引き起こす可能性があります。また、WordPressテーマを次に更新したときに、このカスタムコードは失われます。

代わりに、WPCodeを使用します。これは、誰でもWordPressウェブサイトにカスタムコードを追加する最も簡単で安全な方法です。 カスタムコードを追加 

開始するには、WPCode をインストールしてアクティブ化する必要があります。詳細については、WordPress プラグインのインストール方法に関するステップバイステップガイドをご覧ください。

その後、WordPressダッシュボードのコードスニペット » スニペットを追加 に移動します。

WordPressのブログやウェブサイトにカスタムコードスニペットを追加する方法

ここでは、サイトに追加できる既製のスニペットをすべて確認できます。これには、コメントを完全に無効にする、WordPressが通常サポートしていないファイルタイプをアップロードする、添付ファイルページを無効にするなどのスニペットが含まれています。

ユーザーのIPアドレスを表示するには、「カスタムコードの追加」にカーソルを合わせ、「スニペットを使用」を選択します。

WPCodeを使用してユーザーのIPアドレスを表示する方法

まず、カスタムスニペットのタイトルを入力します。これは、WordPressダッシュボードでコードを識別するのに役立つものであれば何でも構いません。

これが完了したら、「コードタイプ」ドロップダウンメニューを開き、「PHPスニペット」を選択します。

WPCodeを使用してユーザーのIPアドレスを表示する方法

その後、次のスニペットをコードエディターに貼り付けるだけです。

function get_the_user_ip() {
if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return apply_filters( 'wpb_get_ip', $ip );
}
 
add_shortcode('show_ip', 'get_the_user_ip');

スニペットを有効にするには、画面の上部までスクロールし、「非アクティブ」トグルをクリックして「アクティブ」に変更します。

最後に、「スニペットを保存」をクリックしてスニペットを公開します。

ユーザーのIPアドレスを表示するショートコードの作成

これで、[show_ip]ショートコードが作成されました。これは、任意のページ、投稿、またはウィジェット対応エリアに訪問者のIPアドレスを表示するために使用できます。

ショートコードの配置方法については、WordPressでショートコードを追加する方法に関する初心者向けガイドをご覧ください。

この記事がWordPressサイトにユーザーのIPアドレスを表示する方法を学ぶのに役立ったことを願っています。また、WordPressサイトでのユーザー登録を許可する方法や、コンプライアンスを向上させるための最適なGDPRプラグインに関するガイドも参照してください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

24 CommentsLeave a Reply

    • それには高度なPHPまたはプラグインが必要ですが、現時点では推奨する方法はありません。

      管理者

  1. 残念ながら、この機能にはまだ「キャッシュ」という問題という弱点があります。
    ブラウザの「キャッシュ」をクリアしない限り、訪問者は(ルーターを再起動しても)同じIPアドレスを見ることになります。

  2. 収集されたIPはどこで見られますか?そして、コードのスニペットをfunctions.phpコードの先頭に貼り付けるべきですか?

    • コードをfunctions.phpファイルの末尾に貼り付けます。テキストウィジェット内でショートコード[show_ip]を使用する必要があります。WordPressでウィジェットを追加して使用する方法に関するガイドをご覧ください。

      管理者

  3. こんにちは。
    私はドイツ出身で、コンピューターオタクではありません。しかし、クライアントIP(Google Analyticsから)で訪問者の会社を特定するという仕事をしています。手伝ってもらえますか?

  4. これはうまく機能します、ありがとう!ホスト名も表示する方法はありますか?おそらく別のショートコードで?

  5. こんにちは、

    この方法で過去のブログ訪問者のIPアドレスを取得することは可能ですか?もし不可能であれば、他にどのような手段があるかご存知ですか?

    Also will I be able to access code if I do not have a premium wordpress account?
    I have been trying to locate the IP of an anonymous twitter troll and would really appreciate some help! :)

    ルーベン

  6. チュートリアルをありがとうございます。WordPressでの作業は初めてなので、愚かな質問かもしれませんが、ご容赦ください。

    訪問者が投稿を訪問した日時とともにIPアドレスを保存したい場合、個別のMySQLデータベーステーブルを作成する必要がありますか、それともこの情報を収集する既存のWordPressテーブルがあり、それを取得できますか?

    • WordPressでそのような機能のためのテーブルを作成するのは効率的ではありません。カスタム投稿タイプを使用する方が良いでしょう。

      こちらで同様の質問に回答しました。

  7. ありがとうございます。問題なく動作します。
    しかし、これを新しいユーザーの購読を監視するために使用することは可能ですか?

  8. 返信ありがとうございます。システムのためにいくつかのプラグインを修正します。後で説明します。

  9. @pippin あなたは正しいです。あなたのコードは正常に動作しましたが、wpbeginnerのコードも正常に動作していました。

  10. $_SERVER[‘REMOTE_ADDR’]は常にIPを正しく取得するとは限らないことに注意すべきでしょう。

    ユーザーが共有接続を使用している場合、$_SERVER[‘HTTP_X_FORWARDED_FOR’]を使用する必要があります。

    ユーザーがプロキシの背後にいる場合は、$_SERVER[‘HTTP_X_FORWARDED_FOR’]を使用する必要があります。

    IPは $_SERVER[‘HTTP_CLIENT_IP’] にも存在することがあります。

    IPを確実に取得するには、次のようなものを使用する必要があります。

    function get_the_user_ip() { if ( ! empty( $_SERVER[‘HTTP_CLIENT_IP’] ) ) { //check ip from share internet $ip = $_SERVER[‘HTTP_CLIENT_IP’]; } elseif ( ! empty( $_SERVER[‘HTTP_X_FORWARDED_FOR’] ) ) { //to check ip is pass from proxy $ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’]; } else { $ip = $_SERVER[‘REMOTE_ADDR’]; } return apply_filters( ‘edd_get_ip’, $ip ); }

  11. PHPでIPアドレスを読み取ることができるとしても、人々がIPアドレスを共有していたり、動的IPであったり、異なるネットワーク/場所からウェブサイトにアクセスしていたり、PHPが見るIPアドレスを偽装することが可能であるため、有用ではない可能性があることに常に注意する価値があります。したがって、IPアドレスの使用は注意してください。

コメントを残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。