Хук user_row_actions
в WordPress позволяет модифицировать ссылки действий, отображаемые под каждым пользователем в таблице пользователей админ-панели. Это может быть полезно для изменения доступных действий, таких как редактирование или удаление пользователей, а также для настройки функциональности в зависимости от требований вашего проекта.
apply_filters( ‘user_row_actions’, string[] $actions, WP_User $user_object )
Параметры
- $actions (string[]): Массив ссылок действий, которые будут отображаться. По умолчанию это ‘Edit’ и ‘Delete’ для одиночного сайта, а также ‘Edit’ и ‘Remove’ для мультсайтов.
- $user_object (WP_User): Объект текущего пользователя, для которого выводятся действия.
Удаление ссылки на архив автора
Давайте рассмотрим простой пример, где мы удалим ссылку на архив автора в таблице пользователей. Этот код также можно использовать для мультсайтов с помощью ms_user_row_actions
.
function custom_remove_author_archive_link( $actions ) {
if ( isset( $actions['view'] ) ) {
unset( $actions['view'] ); // Удаляем ссылку на просмотр
}
return $actions;
}
add_filter( 'user_row_actions', 'custom_remove_author_archive_link' );
Изменение ссылок действий в таблице пользователей
Иногда необходимо изменить действия, которые отображаются для каждого пользователя. Например, вы можете добавить или удалить определенные действия.
add_filter( 'user_row_actions', 'custom_user_row_actions', 10, 2 );
/**
* Функция для хука `user_row_actions`.
*
* @param string[] $actions Массив ссылок действий, которые будут отображены.
* @param WP_User $user_object Объект WP_User для текущего пользователя.
*
* @return string[]
*/
function custom_user_row_actions( $actions, $user_object ) {
// Удаляем действие "Сбросить пароль"
unset( $actions['resetpassword'] );
// Добавляем новое действие
$actions['custom_action'] = '<a href="' . admin_url( 'admin.php?page=custom_page&user_id=' . $user_object->ID ) . '">Кастомное действие</a>';
return $actions;
}
Удаление ссылки на сброс пароля
В этом примере мы уберем ссылку на сброс пароля из таблицы пользователей. Это может быть полезно в случае, если вы хотите ограничить доступ к этой функции.
add_filter( 'user_row_actions', 'remove_reset_password_action', 999 );
function remove_reset_password_action( $actions ) {
unset( $actions['resetpassword'] ); // Удаляем ссылку на сброс пароля
return $actions;
}
Заключение
Хук user_row_actions
предоставляет мощный способ для настройки пользовательских действий в админ-панели WordPress. С помощью этого хука вы можете адаптировать интерфейс под свои нужды, добавляя или удаляя ссылки действий для пользователей. Эти изменения могут значительно улучшить пользовательский опыт и безопасность вашего сайта.