You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.3 KiB
33 lines
1.3 KiB
<?php
|
|
|
|
/* TO_DO что за логика ? */
|
|
// Добавление и настройка колонки Telegram
|
|
add_filter('manage_users_columns', 'add_tg_account_column');
|
|
function add_tg_account_column($columns) {
|
|
$columns['tg_username'] = 'Telegram';
|
|
return $columns;
|
|
}
|
|
|
|
add_action('manage_users_custom_column', 'add_tg_account_column_content', 10, 3);
|
|
function add_tg_account_column_content($value, $column_name, $user_id) {
|
|
if ('tg_username' == $column_name) {
|
|
$tg_username = get_user_meta($user_id, 'tg_username', true);
|
|
return $tg_username ? '<a href="https://t.me/' . esc_attr($tg_username) . '" target="_blank">@' . esc_html($tg_username) . '</a>' : '<span style="color:#ccc;">не указан</span>';
|
|
}
|
|
return $value;
|
|
}
|
|
|
|
add_filter('manage_users_sortable_columns', 'make_tg_account_column_sortable');
|
|
function make_tg_account_column_sortable($columns) {
|
|
$columns['tg_username'] = 'tg_username';
|
|
return $columns;
|
|
}
|
|
|
|
add_action('pre_get_users', 'handle_tg_account_sorting');
|
|
function handle_tg_account_sorting($query) {
|
|
if (!is_admin() || !$query->is_main_query()) return;
|
|
if ('tg_username' === $query->get('orderby')) {
|
|
$query->set('meta_key', 'tg_username');
|
|
$query->set('orderby', 'meta_value');
|
|
}
|
|
} |