Intereting Posts
Календарь событий на сайте WordPress? Перемещение сайта WordPress в новый домен – импорт базы данных Я изменил сервер и домен в одно и то же время, и сайт приносит ошибку 500 в браузере создать статическую папку, независимую от WordPress Перенаправление на домашнюю страницу, если страница не существует Настройка разрывов SSL: страница не возвращается из ajax удалить загруженный файл 404.php работает только в том случае, если я вошел в систему. Все остальные перенаправляются на wp-login.php – почему? Когда мне нужно использовать esc_attr при использовании внутренних функций WordPress Попытка отправить почту со страницы темы Проектирование плагина, который использует iFrame для обработки данных в admin Случайное белое пространство перед типом Отправить сообщения электронной почты после отправки комментария Правильный способ обновления пула таксономии с использованием register_taxonomy? Как проверить, отличается ли строка PHP от мета-поля?

Создание пользователей (пользователей) с помощью API настроек

Я пытаюсь создать плагин, который будет генерировать пользователей. Я довольно новичок в WordPress, и мой PHP – это ehhhh. Идея для него заключается в том, что плагин генерирует несколько пользователей, когда он будет завершен. Прямо сейчас, хотя я просто пытаюсь заставить его создать его. Но у меня возникают проблемы с этим, любые идеи?

Как только я нажимаю «Отправить», я получаю «Настройки сохранены». Итак, я считаю, что это означает, что форма прошла, но в базе данных не появляется пользователь. Я предполагаю, что я не получаю информацию в форме или не выполняю свою функцию должным образом.

<?php function sl_add_options_page() { // Add new page under the "Settings tab add_options_page( __( 'User Options' ), __( 'User Options' ), 'manage_options', 'user_options_page', 'sl_render_options_page' ); } add_action( 'admin_menu', 'sl_add_options_page' ); function sl_render_options_page() { ?> <div class="wrap"> <h2><?php _e( 'Content & User Generator Options' ); ?></h2> <form action="options.php" method="post"> <?php settings_fields( 'num_users' ); ?> <?php do_settings_sections( 'user_options_page' ); ?> <p class="submit"> <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Submit' ); ?>"> </p> </form> </div> <?php } function sl_add_setting() { // Register a binary value called "pimple_disable" register_setting( 'num_users', 'num_users', 'absint' ); // Add the settings section to hold the interface add_settings_section( 'user_main_settings', __( 'User Controls' ), 'sl_render_main_settings_section', 'user_options_page' ); // Add the settings field to define the interface add_settings_field( 'user_main_settings_field', __( 'How Many users' ), 'sl_render_users_input', 'user_options_page', 'user_main_settings', 'sl_wp_create_user' ); } add_action( 'admin_init', 'sl_add_setting' ); function sl_wp_create_user($username, $password, $email) { $num_users = intval( $_GET['num_users'] ); $username = 'Testing'; $email = 'fakeemail@easyfakemail.com'; $password = wp_generate_password( 12, false ); for( $j = 0; $j < $num_users; $j++ ) { $user_login = esc_sql( $username ); $user_email = esc_sql( $email ); $user_pass = $password; $userdata = compact('user_login', 'user_email', 'user_pass'); return wp_insert_user($userdata); } echo '<div id="message" class="updated fade"><p><strong>' . $num_users . ' Users created</strong></p></div>'; } function sl_render_main_settings_section() { echo '<p>Main settings for the Content and User Generator plugin.</p>'; } function sl_render_users_input() { echo '<input id="num_users" name="num_users" type="input" value="" />'; } 

Solutions Collecting From Web of "Создание пользователей (пользователей) с помощью API настроек"

Вы неправильно используете add_settings_field : функция sl_wp_create_user передается как $args (и вам, вероятно, не нужны какие-либо аргументы), и это должен быть дезинфекция callback для register_settings .

Сделайте ввод следующим образом:

 function sl_render_users_input() { echo '<input id="num_users[value]" name="num_users[value]" type="input" value="" />'; } 

И функция санитизации:

 function sl_wp_create_user( $input ) { if( isset( $input['value'] ) ) { // do your thing } }