The example WP theme I am trying to use is sodelicious_black.
page.tpl.php
Combine header.php, page.php and footer.php into on new file called page.tpl.php. In this new page.tpl.php file:
- Replace your DOCTYPE and HTML lines with
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> - Replace the TITLE with
<title><?php print $head_title ?></title> - Replace the links to style sheets, RSS news feeds and the such with
<?php print $head ?>
<?php print $styles ?>
<?php print $scripts ?> - Clean up the page.tpl.php by removing the obsolete calls to
get_header()andget_footer() - Replace
echo get_settings('home')withprint base_path() - Replace
bloginfo('name')withprint $site_slogan ? $site_slogan : $site_name - Drupal uses syntax such as
<?php if (isset($primary_links)) {for navigation, so replace the navigation block with this code
print theme('links', $primary_links, array('class' => 'navmenu primary-links'));
} ?>
<?php if (isset($secondary_links)) {
print theme('links', $secondary_links, array('class' => 'navmenu secondary-links'));
} ?>
- At the beginning of the main content block, Drupal customarily has a bunch of information such as
<div class="post-main">
<?php if ($breadcrumb) { print $breadcrumb; } ?>
<?php if ($mission) { print '<div id="mission">'. $mission .'</div>'; } ?>
<?php if ($tabs) { print '<div id="tabs-wrapper" class="clear-block">'; } ?>
<?php if ($title) { print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; } ?>
<?php if ($tabs) { print $tabs .'</div>'; } ?>
<?php if (isset($tabs2)) { print $tabs2; } ?>
<?php if ($help) { print $help; } ?>
<?php if ($show_messages && $messages) { print $messages; } ?>
</div>
<?php print $content; ?>
- The Search blocks are created by Drupal, so remove any code builds a search block – just remember where it was located (top, left, centre, right, footer regions)
- Replace
get_sidebar();withprint $sidebar_left . $sidebar_right; - The Recent Posts blocks are created by Drupal, so remove any code that builds a Recent Posts block – just remember where it was located
- Clean up the code and balance all your DIV’s and SPAN’s
node.tpl.php
The single.php will get trimmed to become the node template – node.tpl.php
- Start off by removing everything that is already in the page template – page.tpl.php – basically everything before and including the while (have_posts()) loop
- Replace
the_ID()withprint $node->nid; - Replace
permalink()withprint $node_url; - Replace
the_title()withprint $title; - Replace the Author block with
<?php if ($submitted) { print '<span class="submitted">' . $submitted . '</span>'; } ?> - Replace the Category block with
<?php if ($taxonomy) { print '<div class="terms">' . $terms . '</div>'; } ?> - Replace the Comments block with
<?php if ($links) { print '<div class="post-tags">' . $links . '</div>'; } ?> - Add
<?php print $picture ?>before the content to support user pictures - Replace
the_content('Read more');withprint $content;
comment.tpl.php
The comment.php will get trimmed to become the comment template – comment.tpl.php
- As before, start off by removing everything that is already in the page template – page.tpl.php – basically everything before and including the foreach ($comments) loop
- Replace
comment_ID()with print$comment->cid;
Results
And there you should have an almost working Drupal theme closely relating the previous WP theme.
- Sodelicious homepage
- Sodelicious content
- Sodelicious edit
- Sodelicious gallery
- That’s all folks.








Sorry but I still can’t
Sorry but I still can't convert it by following your words! It messed up althought i've tried many different ways...
Could you please upload your finished theme in this example?
Thank you very much
Yes. I will upload it to the
Yes. I will upload it to the drupal themes. I will post an update in the next couple of days with the reference.
Nice writting. Hope this
Nice writting.
Hope this will help many ports of WP themes to Drupal themes.
thanks
Hi
Thanks for your tutorial, as its a lot of nice wp design out, i will start to convert some of them, i get some diffucilties on making primary links
A drupal group is already created to make this project
http://groups.drupal.org/converting-themes-drupal
it will be great if you add some tutorials on converting wp to drupal, i will start and will let u know my results
sincerly
toma
Post new comment