Tworzysz stronę internetową i potrzebujesz pomocy?

Ostatnio dostałem zapytanie, czy mógłbym przygotować jakiś moduł, który by na liście użytkowników WordPressa – oprócz standardowych danych – wyświetlał również ID danego użytkownika. Nie będę rozpisywał się nad powodami takiego „zapotrzebowania”, bo mogą być one (prze)różne. Ważny jest ostateczny efekt.

Dodatkowa kolumna z ID użytkownika w WordPressie

Oczywiście ID użytkownika można sprawdzić na kilka sposobów – zaczynając od spojrzenia na link „powiązany” z nazwą użytkownika (mowa o linkach wewnątrz panelu zarządzania WordPressem), a kończąc na analizie tabel SQL (MySQL) w phpMyAdmin. Ale są to wszystko działania wymagające jednak pewnej wiedzy i – czasem – odpowiednich uprawnień, a do tego nie są tak automatyczne i masowe jak dodanie odpowiedniej kolumny na liście użytkowników.

Na szczęście – jak to często w WordPressie bywa – z pomocą przychodzi nam kilka linijek kodu, który możemy dodać do pliku functions.php:

// Dodatkowa kolumna
function webinsider_wp_manage_users_columns_add( $columns ) {
    return array_merge( $columns, 
              array( 'userid' => __( 'UID' ) ) );
}
add_filter( 'manage_users_columns' , 'webinsider_wp_manage_users_columns_add' );

// Pobranie i wyświetlenie ID użytkowników
function webinsider_wp_manage_users_columns_add_content( $content, $column_name, $userid ) {
    if ( $column_name === 'userid' ) {
        return $userid;
    }
    return $content;
}
add_action( 'manage_users_custom_column', 'webinsider_wp_manage_users_columns_add_content', 10, 3 );

Do tego warto dodać jeszcze jeden fragment, dzięki któremu zapanujemy nad szerokością kolumny, która w standardzie jest zdecydowanie za szeroka, zwłaszcza patrząc na jej zawartość:

// Wygląd (szerokość) kolumny
function webinsider_wp_manage_users_columns_css(){
    echo '<style>.column-userid { width: 3em; }</style>';
}
add_action( 'admin_head',  'webinsider_wp_manage_users_columns_css' );

W efekcie na liście użytkowników pojawi się dodatkowa kolumna „UID”, w której znajdziemy ID poszczególnych użytkowników WordPressa:

Oczywiście w ten sposób możecie wyświetlić również kolumny z innymi danymi, zależnie od swoich potrzeb.

PRyC WP: User(s) ID, czyli gotowe rozwiązanie

Dla osób, które z takich czy innych powodów nie chcą lub obawiają się, że mogą podczas samodzielnej modyfikacji pliku functions.php coś „nabroić” mogę zaproponować instalację np. wtyczki „PRyC WP: User(s) ID”, którą wystarczy tylko zainstalować i uruchomić:

Kasujemy niepotrzebne (standardowe) kolumny

A skoro przy temacie kolumn na liście użytkowników już jestem, to od razu pokażę jak można pozbyć się niepotrzebnych kolumn, np. „wpisy” i „Email”:

function webinsider_wp_manage_users_columns_unset ( $column_headers ) {
  unset( $column_headers['user_jetpack'] );
  unset( $column_headers['email'] );
  return $column_headers;
}
add_action( 'manage_users_columns','webinsider_wp_manage_users_columns_unset', 999 );

W standardzie mamy kolumny:

  • Nazwa użytkownika (username)
  • Podpis (name)
  • E-mail (email)
  • Rola (role)
  • Wpisy (posts)
  • JetPack (user_jetpack)

Czy i ew. co „wywalić” oczywiście pozostawiam Wam, ja sam zazwyczaj najszybciej żegnam się z kolumną „user_jetpack”, która chyba jeszcze nigdy do niczego mi się nie przydała, a jakiś czas temu się pojawiła (tam, gdzie korzystam z JetPacka i mam odpowiednio skonfigurowanego z tą usługą użytkownika).

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)
Patryk
Tworzysz stronę internetową i potrzebujesz pomocy?