我有一个通过导入用户的脚本。csv文件
脚本检查用户是否存在,如果存在,则更新其元数据
如果用户确实存在,但“状态”字段包含“已存档”一词,则应删除该用户
如果以上都不是真的,则为新用户并添加到用户列表中。
所以剧本是这样的:
foreach ($data as $gebruiker){
$username = $gebruiker[\'username\'];
if ( username_exists( $username ) && $gebruiker[\'status\'] == \'published\' ){
$user = get_user_by( \'login\', $username);
update_user_meta( $user->ID, \'import_1\', $gebruiker[\'email\'] );
}elseif(username_exists( $username ) && $gebruiker[\'status\'] == \'archived\'){
require_once(ABSPATH.\'wp-admin/includes/user.php\' );
$user = get_user_by( \'login\', $username);
wp_delete_user( $user->ID );
}else{
$users = wp_insert_user(
array(
\'user_login\' => $gebruiker[\'username\'],
\'user_pass\' => $gebruiker[\'password\'],
\'first_name\' => $gebruiker[\'first_name\'],
\'last_name\' => $gebruiker[\'last_name\'],
\'user_email\' => $gebruiker[\'email\'],
\'display_name\' => $gebruiker[\'first_name\'] . \' \' . $gebruiker[\'last_name\'],
\'nickname\' => $gebruiker[\'first_name\'] . \'\' . $gebruiker[\'last_name\'],
\'role\' => \'subscriber\'
)
);
foreach ($data as $update_user) {
update_user_meta( $users, \'import_1\', $update_user[\'first_name\'] );
update_user_meta( $users, \'import_2\', $update_user[\'last_name\'] );
update_user_meta( $users, \'status\', \'published\' );
}
}
问题是我不知道如何检查用户是否不存在
因为现在的方式是先删除用户get,然后再添加。
从逻辑上讲,我应该首先检查用户是否存在,然后更新其数据
之后,如果用户不存在,我应该添加该用户。
最后,我应该删除所有具有状态的用户archived
.
我该如何做这样的事情:
if ( ! username_exists( $username ) )
最合适的回答,由SO网友:Interactive 整理而成
修好了。其实很简单。
我将删除用户get的if部分移到了脚本的底部。
foreach ($data as $gebruiker){
$username = $gebruiker[\'username\'];
if ( username_exists( $username ) && $gebruiker[\'status\'] == \'published\' ){
$user = get_user_by( \'login\', $username);
update_user_meta( $user->ID, \'import_1\', $gebruiker[\'email\'] );
}else{
$users = wp_insert_user(
array(
\'user_login\' => $gebruiker[\'username\'],
\'user_pass\' => $gebruiker[\'password\'],
\'first_name\' => $gebruiker[\'first_name\'],
\'last_name\' => $gebruiker[\'last_name\'],
\'user_email\' => $gebruiker[\'email\'],
\'display_name\' => $gebruiker[\'first_name\'] . \' \' . $gebruiker[\'last_name\'],
\'nickname\' => $gebruiker[\'first_name\'] . \'\' . $gebruiker[\'last_name\'],
\'role\' => \'subscriber\'
)
);
foreach ($data as $update_user) {
update_user_meta( $users, \'import_1\', $update_user[\'first_name\'] );
update_user_meta( $users, \'import_2\', $update_user[\'last_name\'] );
}
}if(username_exists( $username ) && $gebruiker[\'status\'] == \'archived\'){
require_once(ABSPATH.\'wp-admin/includes/user.php\' );
$user = get_user_by( \'login\', $username);
wp_delete_user( $user->ID );
}