如何根据'user_meta'删除所有用户和帖子?

时间:2016-12-16 05:53:46

标签: wordpress posts

我开发了一个小型wordpress应用程序,其中包括Institutes(wp用户),Trainers(wp用户),Trainees(wp用户),课程(自定义帖子)和通知(自定义帖子)。所有的应用程序都运行正常,但如果我删除了一个机构所有的信息属于该机构,如培训师,实习生,通知和&课程也应删除。当我创建'学院'用户时,我存储所有相关信息,如名字,wordpress表'wp_users'中的姓氏和'学院名'存储为'用户元','wp_usermeta'中带有'inistitute_name'键像下面这样的表是我的代码:

  $user_data = array(
                'ID' => '',
                'user_pass' => '',
                'user_login' => $first_name,
                'user_email' => $user_email,
                'first_name' => $first_name,
                'last_name' => $last_name,
                'role' => 'admin'//get_option('default_option')
            );
            $random_password = wp_generate_password(8,false);
            $user_id = wp_insert_user( $user_data );
            update_user_meta( $user_id, 'inistitute_name',$insititute_name );

创建培训师(或)培训生时,我的代码如下:

$user_data = array(
                   'ID' => '',
                   'user_pass' => '',
                   'user_login' => $first_name,
                   'user_email' => $trainer_email,
                   'first_name' => $first_name,
                   'last_name' => $last_name,
                   'role' => 'trainer'
             ); 
            $random_password = wp_generate_password(8,false);
            $user_id = wp_insert_user( $user_data );
            update_user_meta( $user_id, 'inistitute_name',$this->institute_name[0] );
            wp_set_password($random_password, $user_id);

创建课程时,我的代码如下:

 $user_ID = get_current_user_id();
 $institute_name = get_user_meta($user_ID, 'inistitute_name', true);
 $post = array(
                'post_title'    => $title,
                'post_content'  => $description,
                'post_status'   => 'publish', 
                'post_type' => "courses"  
            );
 $id = wp_insert_post($post);
 update_post_meta( $id, 'inistitute_name', $institute_name );

假设让我们说一个研究所'abcd'被删除,然后所有的信息,如'培训师','实习生','课程'和&还应根据“user_meta”字段删除与该机构相关联的“通知”。是否可以删除? (或)我做错了吗?谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:0)

试试这段代码:

  $('#myForm').on('submit',function(e){
   e.preventDefault();
   $.ajax({
   url:"file.php",
   type:'POST',
  data:new FormData(this),
  contentType: false,
  processData:false,
  success:function(data){
  $("#myResponse").replaceWith(data);}
    });
   });
  });

我没有测试过这段代码,而是来自我的WP知识。

请在测试此代码之前注意确实进行数据库备份。

答案 1 :(得分:0)

我得到了解决方案形式wordpress.stackexchange.com链接到这个问题就在这里

https://wordpress.stackexchange.com/questions/249435/how-to-delete-all-users-and-posts-based-on-user-meta/