If you don’t know this theme yet, you should check it out at Graph Paper Press.
Modularity Lite is Thad Allender’s freebie version of a larger framework. I was customising this theme for Jerry Hyde’s site recently, and thought I’d take some notes to share with you.
UPDATE January 2011: This article gained a lot of attention since it came out in January 2010. Code changes dramatically with each release, which is why I’ve written an updated version for Modularity Lite 1.3. This article is about version 1.2. Tweaks may NOT work in later versions.
How to add your own Background Image
The background image gets loaded via the style.css file in the following line of code:
/************************* GLOBAL STYLES ***************************/ body {color:#eee;background: #111 url(images/bg.jpg) no-repeat center fixed;}
The full path to the default background image is wp-content/themes/modularity-lite/images/bg.jpg. Change it to your heart’s contempt!
How to add your own Logo or Header
have a look at the header.php file and find the following section:
<!-- Begin Masthead -->
<div id="masthead">
<h4><a href="<?php echo get_settings('home'); ? rel="nofollow">/" title="Home"><?php bloginfo('name'); ?></a> <span><?php bloginfo('description'); ?></span></h4>
</div>
Delete the <h4> and <span> tags and replace them with a link to your logo like this:
<div id="masthead">
<img src="http://yourdomain.com/yourlogo.jpg">
</div>
If you’d like that logo to link to your home page, wrap it in a link like this:
<div id="masthead">
<a href="<?php echo get_settings('home'); ? rel="nofollow">/" title="Home">
<img src="http://yourdomain.com/yourlogo.jpg">
</a>
</div>
Image Sizes
If you’re hosting images in places other than your website (say Flickr) you may find that those images are too big for your layout. Rather than fiddle with that, let’s have imgaes automatically resize when they’re wider than your theme.
Have a look at the style.css file and find the /* Floats & Images */ section, under which you’ll find these three declarations:
img.centered...
img.alignright...
img.alignleft...
The last value on each line ends with
max-width:950px
Change that to a smaller value and your images will be resized automatically. You may also want to add
heigh:auto
to each line so your images don’t get squashed. I don’t know which image alignment you’re using when you embed an image, so for safe measure, amend all three of them. As an example, here’s the first line of code in its entirety changed to 500px width:
img.centered{display: block;margin-left: auto;margin-right: auto;max-width:500px; height: auto;}
Slowing Down the Slideshow
The slideshow is generated in Java Script. Have a look in your functions.php file and look for a code block under the heading // Load Dom Ready Javascripts – it looks like this:
jQuery("#slideshow").cycle({ speed: '2500', timeout: '500', pause: 1
In it, you’ll find two parameters:
- SPEED which is in fact the cross fade duration,
- and TIMEOUT which is the duration of each slide.
1000 is about 1 second, 2000 is 2 seconds, and so forth. Play with those and see what happens. If you’d like cuts instead of corss fades, change the SPEED parameter to 1. The PAUSE parameter doesn’t seem to do anything so leave it alone.
Your key to success lies in the nav.php file. The entire menu bar is constructed out of unordered lists and sub-lists here. Comment out the the following piece of code to get rid of the categories:
<li><span>Categories</span>
<ul>
<?php wp_list_categories('orderby=name&depth=-1&title_li='); ?>
</ul>
</li>
To turn the entire nav bar into pages you’ll have to comment out everything in that file and insert this code instead:
<div id="nav">
<ul>
<ul>
<?php wp_list_pages('orderby=name&depth=-1&title_li='); ?>
</ul>
</ul>
</div>
Have fun 😉
You are the man! I spent hours trying to figure this out. Thank you so much!
Hi Jay,
I appreciate that you’ve shared your findings. Thank you so much. I found your advice on how to select a single page for the photobox to appear on particularly useful.
I’ve a question.
I’d want to only show top level pages (no parents) in the pages dropdown nav. Eg. I want to hide children pages from appearing on the menu.
If you have time to offer advice, I’d appreciate it.
All the best
Thanks Leif 😉
That’s a good question – looks like it’s easy to do thanks to the wp_list_pages() function which is explained here in some detail. You can pretty much do anything with it, like excluding particular pages. But I digress…
In the nav.php file see if you can find this piece of code – it displays the pages:
<li><span>Pages</span>
<ul>
<?php wp_list_pages('orderby=name&depth=-1&title_li='); ?>
</ul>
</li>
If you change the “-1” depth parameter to “1” you’ll only display top level pages.
Perfect. Thank you for the clear and quick response.