Как вывести IP-адреса пользователей в WordPress
На днях один из наших пользователей задал вопрос, можно ли как-то определить и вывести на экран IP-адрес отдельного посетителя в WordPress. Наш ответ был следующим: естественно, можно! В данной статье мы покажем вам, как отобразить IP-адрес пользователя в WordPress.
Вы можете использовать это для создания своего собственного сайта с детектированием IP. Когда посетитель зайдет к вам на сайт, вы увидите его IP-адрес.
Все, что вам нужно сделать – это добавить следующий фрагмент кода в файл functions.php:
// Display User IP in WordPress function wpb_show_ip() { $user_ip = $_SERVER['REMOTE_ADDR']; return $user_ip; } add_shortcode('show_ip', 'wpb_show_ip');
Далее вам нужно будет добавить следующий шорткод в запись, на страницу или в виджет сайдбара:
[ show_ip ]
Если вы используете шорткод в вашем текстовом виджете и он не работает, то в таком случае вам нужно убедиться, что шорткоды для виджетов сайдбара включены.
Примечание от Пиппина Вильямсона: стоит отметить, что $_SERVER[‘REMOTE_ADDR’] не всегда корректно возвращает IP. Если пользователь использует совместное подключение к интернету, то в таком случае нужно использовать $_SERVER[‘HTTP_X_FORWARDED_FOR’]. IP может также быть представлен в переменной $_SERVER[‘HTTP_CLIENT_IP’]. Если пользователь использует прокси, вам нужно использовать $_SERVER[‘HTTP_X_FORWARDED_FOR’].
В целом, чтобы точно получить IP-адрес, следует использовать следующую функцию:
<?php 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 ); }
Источник: wpbeginner.com