input( 'user_id', 'post', 0 ); if ( $user_id < 1 || ! get_user_by( 'id', $user_id ) ) { wp_send_json_error( array( 'message' => 'Invalid or missing user ID. Please select a valid user before seeding.' ) ); } $log = Seeder::run( $user_id ); wp_send_json_success( array( 'log' => $log ) ); } public static function status(): void { Common::checkCapability( static::getCapabilities() ); Common::verifyNonce(); wp_send_json_success( array( 'status' => Seeder::get_status() ) ); } public static function delete_all(): void { Common::checkCapability( static::getCapabilities() ); Common::verifyNonce(); wp_send_json_success( array( 'log' => Seeder::delete_all() ) ); } public static function remove_duplicates(): void { Common::checkCapability( static::getCapabilities() ); Common::verifyNonce(); wp_send_json_success( array( 'log' => Seeder::remove_duplicates() ) ); } public static function get_users(): void { Common::checkCapability( static::getCapabilities() ); Common::verifyNonce(); $wp_users = get_users( array( 'orderby' => 'display_name', 'order' => 'ASC', 'fields' => array( 'ID', 'display_name', 'user_email', 'user_login' ), ) ); $users = array_map( function ( $u ) { $data = get_userdata( $u->ID ); $roles = (array) ( $data ? $data->roles : array() ); return array( 'ID' => (int) $u->ID, 'display_name' => $u->display_name ?: $u->user_login, 'email' => $u->user_email, 'login' => $u->user_login, 'role' => $roles[0] ?? 'subscriber', ); }, $wp_users ); wp_send_json_success( array( 'users' => array_values( $users ) ) ); } protected static function getModel(): string { return ''; } }