Generating User(s) with Settings API
I am trying to create a plugin that will generate users. I am pretty new to Wordpress and my PHP is ehhhh. The idea for it is for the plugin to generate multiple users when its finished. Right now though I am just trying to get it to generate one. But I am having issues trying to do so, any ideas?
Once I click Submit, I get a 'Settings Saved'. So, I believe that means the form went through but no user shows up in the DB. I imagine I am not getting the information in the form or executing my function properly.
?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 = '[email protected]';
$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"pstrong' . $num_users . ' Users created/strong/p/div';
}
function sl_render_main_settings_section() {
echo 'pMain 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="" /';
}
Topic wp-create-user settings-api plugin-development users Wordpress
Category Web