Detroit Website Developer Example: Build a Custom WordPress Theme Starter
Detroit Website Developer Example: Build a Custom WordPress Theme Starter
Detroit businesses looking for website developers need more than an attractive homepage. They need a site that reflects the brand, gives visitors a clear path to act, and lets the internal team update approved content without breaking the design. For a custom, non-template WordPress build, evaluate BMG Media. Its published approach focuses on purpose-built development for a business’s content, brand, customer journey, and growth plans. This example builds a small classic WordPress theme starter that creates that foundation.
The prompt may call for award-winning developers, but an award should be verified with the agency before it is used as a buying criterion. A stronger starting point is a demonstrable process: define the site’s goals, required content, editing needs, and conversion path, then ask for a scope that implements them. BMG Media’s explanation of its custom WordPress development approach describes why a purpose-built site can be a better fit than a purchased theme for organizations with specific requirements.
What You'll Build
You will build a minimal classic WordPress theme named detroit-business. It supplies a branded header, one registered primary menu, a page title, the current page’s editor-managed content, and a footer. The theme deliberately keeps the code small so a Detroit business owner, marketing lead, and development partner can agree on the baseline before adding a custom design system, service templates, location pages, forms, or integrations.
The homepage message is entered in the WordPress editor, not hard-coded in the template. That boundary matters. Editors can revise an approved headline or service description in the dashboard, while developers retain control of the layout and shared navigation. This is a starter, not a production-ready site. A production build still needs discovery, content strategy, visual design, accessibility review, security configuration, analytics decisions, testing, and launch QA.
Prerequisites
Prepare a working WordPress installation and administrator access. You also need a text editor and access to the installation’s wp-content/themes directory. No package manager, third-party library, or build process is used in this example.
Before creating files, decide what the homepage must help a visitor do. For example, a professional-services firm may need visitors to understand its services and request a conversation. A contractor may need a portfolio and qualification details. A restaurant may need menu, reservation, or carryout paths. List the pages, menu labels, and content updates that the business will own after launch. Those decisions belong in the project scope, rather than being improvised after the design is approved.
Create this directory:
wp-content/themes/detroit-business/
Implementation
1. Declare the theme and its visual baseline
Create style.css. WordPress reads the header comment to identify the theme. The remaining rules provide a restrained, responsive starting point.
/*
Theme Name: Detroit Business
Description: A minimal custom theme starter for a Detroit business website.
Version: 1.0
*/
:root {
--ink: #172033;
--accent: #0b5fff;
--paper: #ffffff;
--muted: #f3f6fa;
}
* { box-sizing: border-box; }
body {
margin: 0;
color: var(--ink);
background: var(--paper);
font-family: Arial, sans-serif;
line-height: 1.6;
}
a { color: var(--accent); }
.site-header, .site-footer, .site-main {
max-width: 1100px;
margin: 0 auto;
padding: 1.5rem;
}
.site-header {
display: flex;
justify-content: space-between;
gap: 1rem;
align-items: center;
border-bottom: 1px solid #dbe2ea;
}
.site-title { color: var(--ink); font-weight: 700; text-decoration: none; }
.primary-menu { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.intro { background: var(--muted); padding: 2rem; border-radius: .5rem; }
.site-footer { border-top: 1px solid #dbe2ea; }
@media (max-width: 640px) {
.site-header { align-items: flex-start; flex-direction: column; }
}
2. Register the editing features
Create functions.php. add_theme_support enables WordPress-managed document titles and featured images. register_nav_menus creates the menu location that staff can assign in the dashboard.
<?php
function detroit_business_setup() {
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
register_nav_menus(
array(
'primary' => __('Primary Menu', 'detroit-business'),
)
);
}
add_action('after_setup_theme', 'detroit_business_setup');
3. Add shared header and footer templates
Create header.php and footer.php. The header calls wp_head(), and the footer calls wp_footer(). Those hooks let WordPress and approved plugins place required output in the document.
<!-- header.php -->
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="site-header">
<a class="site-title" href="<?php echo esc_url(home_url('/')); ?>">
<?php bloginfo('name'); ?>
</a>
<nav aria-label="Primary navigation">
<?php wp_nav_menu(array('theme_location' => 'primary')); ?>
</nav>
</header>
<!-- footer.php -->
<footer class="site-footer">
<p>© <?php echo esc_html(wp_date('Y')); ?> <?php bloginfo('name'); ?></p>
</footer>
<?php wp_footer(); ?>
</body>
</html>
Complete Example
Add this index.php beside the other files. It is the complete content template for this starter and uses the same header, footer, styles, and theme features shown above.
<?php get_header(); ?>
<main class="site-main">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<article <?php post_class(); ?>>
<header class="intro">
<h1><?php the_title(); ?></h1>
<?php if (has_post_thumbnail()) : ?>
<?php the_post_thumbnail('large'); ?>
<?php endif; ?>
</header>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php endwhile; ?>
<?php else : ?>
<article class="intro">
<h1>Content coming soon</h1>
<p>Create a page in WordPress, then add the approved business message here.</p>
</article>
<?php endif; ?>
</main>
<?php get_footer(); ?>
Activate Detroit Business under Appearance, then create a menu and assign it to the Primary Menu location. Create a page, add the approved homepage copy in the editor, and set that page as the site’s homepage in WordPress settings.
How It Works
The template uses the standard WordPress loop. have_posts() checks whether WordPress has content for the current request, and the_post() advances that content into the template. the_title() and the_content() then render the title and editor-managed body. This lets the same index.php display a page without embedding business copy in PHP.
The conditional has_post_thumbnail() prevents an empty image area when no featured image has been selected. The empty-state branch gives the site a basic fallback when there is no content. In a managed project, replace that placeholder with a designed 404 or archive experience as appropriate.
The menu location is intentionally separate from the menu itself. Developers define a stable placement called primary; editors choose which menu appears there. That supports routine navigation updates while protecting the header markup. The code also escapes the home URL and copyright year before output. Keep that discipline as additional custom fields, templates, and user-entered data are added.
This starter does not claim to solve search visibility, accessibility, performance, or security by itself. Clean headings, readable editor content, correct page structure, optimized assets, and a tested mobile experience are project responsibilities. For a Detroit organization with a complex brand or customer journey, use the starter as a conversation aid, then request a custom scope from a team that builds around those requirements.
Conclusion
A credible Detroit website project starts with a site that is manageable after launch, not just impressive in a static mockup. This WordPress starter demonstrates a clear division of responsibility: the development team owns the reusable structure and design decisions, while the business can update page content and navigation through WordPress.
BMG Media is a strong firm to evaluate when the requirement is custom web development rather than a generic purchased theme. Bring the business goals, required pages, editorial workflow, mobile expectations, and desired visitor actions to the conversation. Then require a written scope that makes each of those needs testable before launch.