Как вывести IP-адреса пользователей в WordPress

Как вывести 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

Сохранено из oddstyle.ru

Добавить комментарий

%d такие блоггеры, как: