Tag, you got it.
January 5th, 2009
As you might have noticed; I’ve got a tag cloud in my sidebar. And there were no tags under the entries, and none on the single post page. That is because, as with the widgets, this is an old theme - from when the dinosaurs roamed the earth and whatnot. And tagging wasn’t in Wordpress core.
I’ve quickly added the tags as a new line below the post’s category, setting a class to the span for markup, wrapping it in a div for that new line business. The change is to insert the three last lines below into index.php
(lines 21 through 23). This fixes both the index page and the single post view, as there’s no specific markup code for single posts, pages or archives. I’ll add some beautifying code for this later, and individual templates for my own theme modification.
17 18 19 20 21 22 23 | <div class="postinfo">
<span class="postedby">Posted by <?php the_author() ?></span>
<span class="filedto">Filed in <?php the_category(', ') ?> <?php edit_post_link('Edit', ' | ', ''); ?></span>
</div>
<div class="postinfo">
<span class="tagged">Tagged <?php the_tags('', ', ') ?></span>
</div> |
In addition, we need to add some css to style up the tags listing with an icon as the other post info. I chose the page_component.gif
image from the same icon series as Simpla uses; the Minis from Famfamfam. Put it in the /images/
folder in your theme’s folder and add the following code to styles.css
:
121 122 123 124 125 | .tagged{ background:#fff url(./images/page_component.gif) no-repeat; padding:3px; padding-left:20px; } |
You can probably see that the style information of the last couple of entries in styles.css
are very much alike? Just the file names are different. I get an urge to extract the redundant information as a separate style class, like below, and let each line with an icon get marked with two classes. This makes the file look like this from line 106:
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | .icon{ padding:3px; padding-left:20px; } .postedby{ background:#fff url(./images/user.gif) no-repeat; } .filedto{ background:#fff url(./images/post.gif) no-repeat; } .commentslink{ background:#fff url(./images/packaged.gif) no-repeat; } .tagged{ background:#fff url(./images/page_component.gif) no-repeat; } |
I must now change each line with one of the above class descriptions and add icon
. This is easy, as they are collected together in the index.php
file. And if nothing else; it saves a tiny bit on bandwidth. Not that it is optimized for it. The programmer in me like to pull out shared information.
From my last change this will now look like this:
16 17 18 19 20 21 22 23 24 25 | <div class="entrymeta">
<div class="postinfo">
<span class="icon postedby">Posted by <?php the_author() ?></span>
<span class="icon filedto">Filed in <?php the_category(', ') ?> <?php edit_post_link('Edit', ' | ', ''); ?></span>
</div>
<div class="postinfo">
<span class="icon tagged">Tagged <?php the_tags('', ', ') ?></span>
</div>
<?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »', 'icon commentslink'); ?>
</div> |
Find all four icon
additions? The last is at the end of the comments_popup_link
thingey. Great! I also downloaded page_package.gif
, page_tick.gif
and page_cross.gif
for marking of todo lists as I was picking out the tags icon. That is something not directly connected to upgrading Simpla - and perhaps I should find or make a plugin for it. But it’s for another post.
Agree or disagree on method, markup, choice of icon or anything? Speak up, I’d love to hear.
Making a hole in the sidebar
January 5th, 2009
The next step is fixing the sidebar. As this is a pretty old theme, the sidebar is rather statically set up. It links your pages, categories and links. Nowadays these Widgets are all the rage - and it isn’t hard to set up support for them in an old theme either.
First we’ll make the sidebar accept widgets. The easy, and right, way is to wrap the old sidebar in a condition saying it should be displayed if there is no support for widgets. Do it like this; insert line 2 and 15, making the code look like below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <div id="sidebar"> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?> <h2>Pages</h2> <ul> <li><a href="<?php echo get_settings('home'); ?>/">Home</a></li> <?php wp_list_pages('title_li='); ?> </ul> <h2>Categories</h2> <ul> <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?> </ul> <ul> <?php get_links_list(); ?> </ul> <?php endif; ?> </div> |
Here we could have made the container around sidebar into an unordered list (ul), but that would mean we’d have to have a look at the css to get things to display correctly. So instead we must do a small fix in functions.php
. Instead of using register_sidebars
we’ll use register_sidebar
(plural vs. singular) with some parameters.
Since the functions.php
to register dynamic sidebars in doesn’t exist, we’ll have to create it. Put it in the theme’s folder, and make it contain the following code. Be careful; no space or newlines before or after the lines of code:
1 2 3 4 | <?php if ( function_exists('register_sidebar') ) register_sidebar(array('before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>')); ?> |
The before and after_widget parameters wraps each widget in a div. This wouldn’t be necessary if the dynamic sidebar call was issued from inside an unordered list (ul), as the default values produces list elements (li).
Now the only task left is to go into the widget page (in the blog administration) and add what you want. I suggest Pages, Categories and Links if you want to keep the feel of Simpla, as it were. Keep tuned for more.
Anything you want to add, ask or tell? Feel free.
First steps
January 4th, 2009
I’ve begun making some small changes to the Simpla Theme, in order to get something looking *just* like I want. I’ll share my changes, and also the code if somebody asks for it. For now this is filed as work in progress. And there will be progress.
Here are the things I did to change the theme as it looks now (2009-01-04T20:59:12+01:00). Increase / change font size and screen real estate. Flip the sidebar to the left. Fix logout from near comment field. I’d love to hear if you like / dislike the changes.
Change font size
First order of business is to increase the text size, because I’ve seen what it helps on some devices. The code changes are from:
13 14 15 16 17 18 19 20 21 22 23 | body{ background:#fff url(./images/bg.png) repeat-x; border-top:5px solid #333; color:#555; font-family: Georgia, "Times New Roman", Times, serif; font-size:62.5%; line-height:1.5; margin:0; padding:0; text-align:center; } |
Change relevant line to the following:
18 | font-size:12pt; |
Then remove lines 30 and 36 from the following block:
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #wrap{ margin:0 auto; text-align:left; width:76em; } content{ font-size:1.2em; float:left; padding:1em; width:40em; } #sidebar{ font-size:1.1em; float:right; padding-top:2em; width:20em; } |
That is, these line should be removed:
30 | font-size:1.2em; |
36 | font-size:1.1em; |
These font-size changes means that we have to redistribute a bit of space in the content area. Change line 24, 33 and 39 from above to the following:
24 | max-width:80em; |
33 | width:70%; |
39 | width:25%; |
Flip sidebar to the left hand side
Next step is to flip the sidebar to the left hand side, just because I can. Change line 30 (or 31 if you didn’t change the font-size like above from the first block of code) to the next line:
29 30 31 32 33 | #content{ float:left; padding:1em; width:70%; } |
30 | float:right; |
Minor fixes needed for Wordpress 2.7
Logout link in comment.php
needed updating because of the new security measures in Wordpress. If this isn’t done, you won’t be able to log out from the link beside the comment field. Find and replace first block of code with the second block of code:
76 | <p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p> |
76 | <p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out »</a></p> |






