Intereting Posts
WordPress обновляет последние версии плагина Clone wordpress blog на localbox вручную плагин для публикации сообщения в социальных сетях через администратора? Отображение записей WP в 3 ответных столбцах Почему WordPress использует сериализацию, а не json_encode для таблицы опций? Расположение базового кода для подключения к базе данных и get_header Возможно ли получить локальный URL-адрес изображения, если у него также есть фотон? Как правильно настроить зависимости в автоматическом тестировании? Отправить файл с помощью wp_safe_remote_post У меня 1300 строк Excel таблицы, которые должны попасть в WordPress сайт ASAP – Ищете идеи Имеет ли текущая страница виджет или боковая панель Разработка плагинов и SVN Когда пользователь входит в систему, как они могут просматривать веб-сайт вместо меню администратора? Как добавить разбивку на страницы в WordPress Показать div только в том случае, если сообщение находится в определенной категории

Добавьте кнопку users.php

Я работаю над плагином, который добавляет метаданные для каждого пользователя в таблицу users.php, которая отображается путем добавления столбцов. Я сделал это, но я хотел бы также добавить кнопку, которая будет удалять метаданные пользователей при нажатии. Я не знаю, как я могу это добавить. Я бы хотел, чтобы это было справа от кнопки «change». Я думал, что это будет перезагрузка страницы, но когда это произойдет, я удалю метаданные для каждого пользователя.

Где бы я начал добавлять эту кнопку на страницу? Это лучший способ сделать это?

Благодаря!

Хорошо .. вы МОЖЕТЕ добавить кнопку, как вы упомянули; но я думаю, что это потребует гораздо большего количества кода. На странице users.php используется класс таблицы WP List. Это означает, что мы можем подключаться к bulk actions и добавлять в него свое пользовательское значение.

Итак, давайте создадим функцию для добавления нового значения в раскрывающийся список объемных действий:

 add_action('admin_footer', 'my_user_del_button'); function my_user_del_button() { $screen = get_current_screen(); if ( $screen->id != "users" ) // Only add to users.php page return; ?> <script type="text/javascript"> jQuery(document).ready(function($) { $('<option>').val('del_user_meta').text('Delete User Meta').appendTo("select[name='action']"); }); </script> <?php } 

Это добавит значение «Удалить пользовательскую мета» в раскрывающемся списке групповых действий. Теперь нам нужна функция для фактической обработки отправляемых данных:

 add_action('load-users.php', 'my_users_page_loaded'); function my_users_page_loaded() { if(isset($_GET['action']) && $_GET['action'] === 'del_user_meta') { // Check if our custom action was selected $del_users = $_GET['users']; // Get array of user id's which were selected for meta deletion if ($del_users) { // If any users were selected foreach ($del_users as $del_user) { delete_user_meta($del_user, 'YOUR_METADATA_KEY_TO_BE_REMOVED'); // Change this meta key to match the key you would like to delete; or an array of keys. } } } } 

Здесь мы итерации через каждого из пользователей мы поставили галочку рядом с. Затем он удалит meta_key , указанную для каждого из выбранных пользователей.

ПРИМЕЧАНИЕ. Вам нужно изменить строку YOUR_METADATA_KEY_TO_BE_REMOVED на фактическое имя meta_key, которое вы хотите удалить. Если вы хотите удалить больше одного мета-ключа, вам нужно будет добавить несколько delete_user_meta() .