通过cron文件创建wordpress用户的正确过程是什么?
我需要使用已经具有数据库表的电子邮件ID创建wordpress用户。 我想使用cron文件创建wordpress用户,将密码设置为我已经拥有的数据库,并在将密码设置为“密码”列后向所有用户发送邮件。
因为我有数百万个带有电子邮件ID的业务数据。我想将所有业务与wordpress用户联系起来。
答案 0 :(得分:1)
cron_create_user.php
文件
require( '/path/to/wp-load.php' );
$password = wp_generate_password( 12, true );
// get user details from DB
$WP_array = array (
'user_login' => $username,
'user_email' => $email,
'user_pass' => $password,
'user_url' => $website,
'first_name' => $first_name,
'last_name' => $last_name,
'nickname' => $nickname,
'description' => $bio,
) ;
$user_id = wp_insert_user( $WP_array ) ;
if ( ! is_wp_error( $user_id ) ) {
wp_new_user_notification( $user_id, null, both );
}
从主机上为此文件cron_create_user.php
添加此代码functions.php
add_filter( 'wp_new_user_notification_email' , 'edit_user_notification_email', 10, 3 );
function edit_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$message = sprintf(__( "Welcome to %s! Here's how to log in:" ), $blogname ) . "\r\n";
$message .= wp_login_url() . "\r\n";
$message .= sprintf(__( 'Username: %s' ), $user->user_login ) . "\r\n";
$message .= sprintf(__( 'Password: %s' ), $user->user_pass ) . "\r\n\r\n";
$message .= sprintf(__( 'If you have any problems, please contact me at %s.'), get_option( 'admin_email' ) ) . "\r\n";
$message .= __('Adios!');
$wp_new_user_notification_email['message'] = $message;
$user_email = stripslashes($user->user_email);
wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);
return $wp_new_user_notification_email;
}