Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Display a User’s IP Address in WordPress

Do you want to display a user’s IP address in WordPress?

If your users need to know their IP address to configure one of your products or complete your tutorial, then it helps to show them the exact IP address they need to use.

In this article, we will show you how to display a user’s IP address on your WordPress website.

How to display a user's IP address in WordPress

Why Display a User’s IP Address in WordPress?

An IP (Internet Protocol) address is a string of numbers separated by periods that is used to identify hardware devices on a network. This means that the visitor’s IP address simply identifies the device that they’re using to connect to the internet, such as their smartphone, computer, or tablet.

There are many cases where visitors may need to know their IP address. For example, sometimes users will need to type in their unique IP address when setting up a piece of software, particularly WordPress security plugins such as firewalls.

If you sell this kind of software, then showing the user’s unique IP address in your online documentation will help your customers set up their new software.

Even if you don’t sell the software yourself, many WordPress bloggers publish helpful guides on how to use third-party software. If you’re writing a tutorial where the reader needs to type in their IP address, then showing the exact IP address they need to use can help you create a much better tutorial.

In this post we have several ways to show the user’s IP address on your WordPress website. If you prefer to jump straight to a particular method, then you can use the links below.

1. How to Display a Visitor’s IP Address in WordPress Using a Plugin

The easiest way to display a user’s IP address in WordPress is by using the User IP and Location plugin. This is a simple plugin that lets you show the visitor’s IP address on any page, post, or widget-ready area using a shortcode.

First, you’ll need to install and activate the plugin. If you need help, then please see our guide on how to install a WordPress plugin.

Upon activation, simply open the page, post, or widget-ready area where you want to show the visitor’s IP address. Then, click the ‘Plus’ add block icon and search for ‘Shortcode.’

When the right block appears, click to add it to your WordPress website.

Showing the visitor's IP address on your WordPress website using a shortcode

Now, simply type in the [userip_location type=ip] shortcode. For a more detailed look at using shortcodes, see our beginner’s guide on how to add a shortcode in WordPress.

Once you’ve done that, click on the ‘Update’ or ‘Publish’ button to save your changes.

Showing a visitor's IP address on your WordPress website

Now if you visit this page you’ll see your unique IP address.

2. How to Display a User’s IP Address in WordPress Using Code

You can also show a user’s IP address by adding some code to your WordPress blog or website. This code will create a unique shortcode that you can place anywhere on your site.

This is as simple as copying and pasting some code into your site. However, it’s always a good idea to create a backup before making changes to your website’s code.

If you are not already backing up your WordPress website, then you can see our expert pick of the best WordPress backup plugins.

To show the user’s IP address, either open your theme’s functions.php file, create a site-specific plugin, or use a code snippets plugin.

No matter which option you choose, you can simply paste the following code:

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');

After you’ve done that, either activate your site-specific plugin, save your code snippet, or save the changes you’ve made to your site’s functions.php file.

You’ve now created a [show_ip] shortcode that you can use to show the visitor’s IP address on any page, post, or widget-ready area.

For a step by step guide on how to place the shortcode, see our beginner’s guide on how to add a shortcode in WordPress.

We hope this article helped you learn how to display a user’s IP address in your WordPress site. You may also want to check out our guide on how to allow user registration on your WordPress site and the best live chat software for small businesses.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

25 CommentsLeave a Reply

  1. Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

    • That would require some advanced php or a plugin, we don’t have a recommended method at the moment.

      Admin

  2. unfortunately there is still a weakness of the function, that is the problem of “cache”.
    visitors will see the same ip address (even if the router is restarted) when they are not clearing “cache” in the browser.

  3. Where can I see the IP’s collected? and should I paste the snippet of the code on the top of my function.php code?

  4. hey,
    I am from Germany and I am not a computer freak. But I have the job to find out of the client IP (out of Google Analytics) the Company of the visiter. Can you help me?

  5. This works great, thank you! Is there any way to have it also display the hostname, perhaps with a separate shortcode?

  6. Hi,

    Is it possible to obtain the IP of a previous blog visitor trough this method? If not are you aware of any other courses of action I can take?

    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! :)

    Reuben

  7. Thanks for the tutorial. Please excuse if this is a dumb question but I’m new to working with WordPress.

    If I want to store the visitors IP address along with the date and time they visited a post, should I create a separate mysql database table or is there an existing wp table that collects this information that I can retrieve?

    • WordPress only stores vistor’s information in the database if they decide to leave a comment. You can create a separate database to collect this information if you want.

      Admin

    • Creating a table for such functionality in WordPress is not an efficient move. I would prefer to do this using custom post type.

      I have answered a similar question over here;

  8. Thanks for reply, I’ll modify some plugin for some system, I’ll describe it later

  9. @pippin you are correct. Your code worked fine, but wpbeginner’s code was also working fine.

  10. It should probably be noted that $_SERVER[‘REMOTE_ADDR’] will not always retrieve the IP properly.

    If the user is on a shared connection, you will need to use $_SERVER[‘HTTP_X_FORWARDED_FOR’].

    If the user is behind a proxy, you will need to use $_SERVER[‘HTTP_X_FORWARDED_FOR’].

    The IP can also be present in $_SERVER[‘HTTP_CLIENT_IP’].

    To properly get the IP reliably, something like this should be used:

    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. Always worth noting that although you can read the IP address with PHP that it may not be useful because people have shared IP addresses, dynamic IP, access websites from different networks/locations and because it is possible to fake the IP address that PHP sees. So – only use an IP address with caution.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.