top of page

Jak zapisać i wyświetlić adres IP użytkownika WordPress

Zdjęcie autora: Piotr BartczakPiotr Bartczak

Każdy użytkownik połączony z Internetem posiada unikalny adres IP. Niektórzy właściciele stron WordPress chcą mieć stały wgląd w te dane, dlatego szukają sposobu jak zapisać adres IP użytkownika w panelu /wp-admin/ (w zakładce 'Użytkownicy’).

Może to być związane z typem strony, którą prowadzimy, lub wymogiem klienta, dla którego zapisywanie IP będzie pomocne w dalszym rozwoju biznesu. Przykładem może być potrzeba przechowywania adresu ze względów bezpieczeństwa, oferowanie płatnych planów członkowskich, produktów wirtualnych itp.


Adres IP użytkowników na WordPressie

Ten post został napisany we współpracy z firmą JCHost.pl. Korektę kodu wykonał Krzysztof z wpmagus.pl. W artykule opiszemy sposób, jak dodać funkcjonalność przechowywania adresu IP na stronie WordPress.

Najpierw zapiszemy IP w bazie, by później dodać dodatkową kolumnę z adresem w zakładce „Użytkownicy” w panelu /wp-admin/.

Wszystkie poniższe funkcje dodajemy do motywu, z którego korzystamy, w pliku functions.php.

Krok 1: Zapisanie adresu IP w bazie danych

Pierwszą rzeczą, by móc wyświetlić adres IP każdego z użytkowników, jest zapisanie go w bazie danych. Możemy to zrobić za pomocą prostej funkcji ‘wyciągnięcia’ adresu, która jest powtarzana za każdym razem, gdy użytkownik się loguje:

function save_users_ip ( $login, $user ) {
    update_user_meta( $user->ID, 'user_ip', $_SERVER['REMOTE_ADDR'] );
}
add_action( 'wp_login', 'save_users_ip', 10, 2 );   

Krok 2: Dodanie nowej kolumny w zakładce „Użytkownicy”

Następną rzeczą będzie stworzenie dodatkowej kolumny w panelu admina na liście zarejestrowanych użytkowników. Możemy to zrobić z pomocą tej funkcji:

function add_users_ip_column($column) {
    return array_merge( $column, 
        array('user_ip' => __('Adres IP')) );}
add_filter('manage_users_columns','add_users_ip_column');    

Krok 3: Pobranie i wyświetlenie adresu IP

Teraz pozostało nam już tylko wyciągnąć zapisany wcześniej adres IP każdego z użytkowników oraz wyświetlić go w nowej kolumnie. Wystarczy, że dodamy następującą funkcję:

function show_users_ip( $output, $column_name, $user_id ) {
   if ( 'user_ip' === $column_name ) { 
       $user = get_userdata( $user_id );
       return esc_html($user->user_ip);
   }

   return $output;
}
add_filter( 'manage_users_custom_column', 'show_users_ip', 10, 3 );   

Krok 4: Sprawdzenie poprawności działania

Ostatnią rzeczą będzie oczywiście test praktyczny. Aby sprawdzić, czy adres IP jest zapisywany i wyświetlany poprawnie, wylogujmy się z panelu admina i zalogujmy ponownie.

Następnie przejdźmy do zakładki „Użytkownicy” i sprawdźmy,czy w nowej kolumnie wyświetla się nasz adres IP. Powinno to wyglądać tak:

Końcowe przemyślenia

Jak widać, zapisanie adresu IP użytkownika w bazie, a następnie jego wyświetlenie w panelu admina WordPress, wcale nie jest takie trudne. Wystarczą 3 krótkie funkcje i voila!

Warto pamiętać, że bezpieczeństwo jest najważniejsze.Funkcje związane z wrażliwymi danymi użytkowników nie powinny być stosowane w niezabezpieczonym środowisku. Jeśli chcesz połączyć niesamowitą szybkość strony z kilkupoziomową ochroną, wybierz sprawdzony hosting WordPress – usługę JCHost.pl, współautora tego artykułu.

1 wyświetlenie0 komentarzy

Ostatnie posty

Zobacz wszystkie

Comments


bottom of page