根据 WordPress 上的自定义字段条目自动删除用户

如何解决根据 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?