How to Convert a Multipage HTML Template into a WordPress Theme
Converting a multipage HTML template into a fully functional WordPress theme allows you to retain your front-end design while gaining the flexibility of WordPress. Unlike single-page conversions, this guide focuses on converting full templates like about.html
, services.html
, portfolio.html
, and blog.html
into usable WordPress templates.
✅ Prerequisites: You need basic knowledge of HTML, CSS, PHP, a local server like XAMPP or LocalWP, a WordPress install, and your HTML files ready.
🗂️ Step 1: Create a Theme Folder
Go to wp-content/themes/
and create a folder such as my-multipage-theme
. Inside, create:
style.css
index.php
header.php
footer.php
functions.php
page-about.php
page-services.php
page-portfolio.php
page-blog.php
Include a theme header in style.css
:
/*
Theme Name: My Multipage Theme
Author: Your Name
Description: Converted from HTML
Version: 1.0
Text Domain: my-multipage-theme
*/
🔧 Step 2: Divide Your Template
Move everything above your main content into header.php
, and footer sections into footer.php
.
Replace hardcoded CSS/JS links with:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
Use:
<?php get_header(); ?>
<!-- Content -->
<?php get_footer(); ?>
🔄 Step 3: Make Content Dynamic
Replace static HTML with WordPress functions:
<title></title> → <?php the_title(); ?>
<p></p> → <?php the_content(); ?>
Menus: <?php wp_nav_menu(); ?>
🧠 Step 4: Register Features
In functions.php
:
function my_theme_setup() {
register_nav_menus(array(
'primary' => __('Primary Menu', 'my-multipage-theme'),
));
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'my_theme_setup');
📑 Step 5: Display Blog Posts
Use this in page-blog.php
:
<?php
/*
Template Name: Blog Page
*/
get_header(); ?>
<h2><?php the_title(); ?></h2>
<?php
$args = array('post_type' => 'post');
$query = new WP_Query($args);
if ($query->have_posts()):
while ($query->have_posts()): $query->the_post(); ?>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<div><?php the_excerpt(); ?></div>
<?php endwhile;
endif;
wp_reset_postdata();
?>
<?php get_footer(); ?>
🧭 Step 6: Add a Screenshot
Save a screenshot (880x660) of your theme as screenshot.png
in your theme folder to display it under Appearance > Themes.
⚙️ Step 7: Activate and Manage
From the WordPress dashboard:
Activate the theme under Appearance > Themes
Create pages (About, Services, etc.)
Select appropriate templates under Page Attributes
Create and assign a menu under Appearance > Menus
References:
Cloudways. How to Convert HTML to WordPress
Hostinger. Convert HTML to WordPress
peakanddale. peakanddale