如何解决根据 WordPress 上的自定义字段条目自动删除用户
我已经有一个代码片段可以根据注册自动删除用户,但我目前正在使用 csv 用户导入器插件,具有自定义字段支持,例如年龄、地址和组织。我想要类似的东西,例如,如果用户匹配自定义字段条目,Google - 然后在 3 年后删除,如果用户匹配 Microsoft,则在 5 年后删除。
这是自动删除用户的代码片段,我不知道如何进一步修改它,请帮忙。
global $wpdb;
$userlevel = 0; //0 = subscriber
$deleteafter = 1095; //deleter User after 1095 days
$query = $wpdb->prepare("SELECT $wpdb->users.ID FROM $wpdb->users LEFT JOIN $wpdb->userMeta ON $wpdb->users.ID = $wpdb->userMeta.user_id WHERE $wpdb->userMeta.Meta_key = %s AND $wpdb->userMeta.Meta_value = %d AND DATEDIFF(CURDATE(),$wpdb->users.user_registered) > %d",$wpdb->prefix.'user_level',$userlevel,$deleteafter);
if($oldUsers = $wpdb->get_results($query,ARRAY_N)){
foreach ($oldUsers as $user_id) {
wp_delete_user($user_id[0]);
}
}
}
add_action('daily_clean_database','auto_delete_users');
wp_schedule_event(time(),'daily','daily_clean_database');```
解决方法
您可以检查用户元字段,因为您已经获得了 user_id。
<?php
$path = "2021/";
$dir_handle = @opendir($path) or die("Unable to open $path");
list_dir($dir_handle,$path); //call the function
?>
<?php
function list_dir($dir_handle,$path)
{
while (false !== ($file = readdir($dir_handle)))
{
$dir =$path.'/'.$file;
if(is_dir($dir) && $file != '.' && $file !='..' )
{
$handle = @opendir($dir) or die("unable to open file $file");
echo '<ul id="myUL">' ; //display in tree view
echo '<li><span class="caret" >'.$file.'</span>';
echo '<ul class="nested">';
echo '<a href="new.php?path='.$dir.'">VIEW</a>'; //place the view button beside the folder
list_dir($handle,$dir);
echo '</ul>';
echo '</li>';
echo '</ul>';
}
}
closedir($dir_handle);
}
?>
将此代码段放入您的 foreach。
看看这个。 https://developer.wordpress.org/reference/functions/get_user_meta/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。