我正在尝试创建一个插件来生成用户。我是Wordpress的新手,我的PHP是ehhhh。我早些时候得到了一些有用的帮助,但从那以后我已经做了一些改变。。。
该插件将在单击提交时生成一个用户,问题是它忽略输入字段中的任何内容,不需要它工作。即使我将$num\\u users设置为一个数字,它仍然只生成一个。。。也许我的for循环有问题?
我知道这一定是我看得太小了。
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\'
);
}
add_action( \'admin_init\', \'sl_add_setting\' );
function randomName() {
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$name = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 8; $i++) {
$n = rand(0, $alphaLength);
$name[] = $alphabet[$n];
}
return implode($name);
}
function randomEmail() {
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$email = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 8; $i++) {
$n = rand(0, $alphaLength);
$email[] = $alphabet[$n];
}
return implode($email);
}
function sl_wp_create_user() {
if( isset( $_POST[\'submit\'] ) ) {
//$num_users = 100;
$num_users = $_POST[\'num_users\'];
for( $j = 0; $j <= $num_users; $j++ ) {
$username = randomName();
$email = randomEmail() . \'@gmail.com\';
$password = wp_generate_password( 12, false );
$user_login = esc_sql( $username );
$user_email = esc_sql( $email );
$user_pass = esc_sql( $password );
$userdata = compact(\'user_login\', \'user_email\', \'user_pass\');
return wp_insert_user($userdata);
}
}
}
add_action( \'admin_init\', \'sl_wp_create_user\' );
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="text" value=""/>\';
}