As a follow-on from Thesis full-width headers 101 this is a bit about styling your footer in the Thesis theme.
Footers are a bit easier than headers because we don’t have the two separate elements (title and nav) to deal with. Yay!
Full-width framework
When you’re in Full-width page layout (as per the Design Options page) the HTML footer structure is,
- div#footer_area
- div.page
- div#footer
- p (with attribution info)
- div#footer
- div.page
Style background colour with CSS
So to get a background that spans the full width of the page you simply give the #footer_area a background in custom.css (and remove the double border, which becomes out of place very quickly).
.custom #footer_area {background:#c3d9d6; padding:0.5em 0; border-top:1px solid #bbd;}
.custom #footer {border-top:0;}
That’s pretty much it! Unless you would like to add some extra information to your footer as I’ve done on my blog and Simply Blog.
Adding extra footer content
The way I like to add info to the footer is the same way that it appears in the sidebar. I.e., in a div with the class sidebar, an unordered list with the class sidebar_list and list items with classes widget. That way the lists and text should have the same formatting as the sidebar and fit in nicely with the theme.
Add the following to custom_functions.php.
function custom_footer() { ?>
<div id="footer_1" class="sidebar">
<ul class="sidebar_list">
<li class="widget">
<h3>About</h3>
<p>Hello, this is me, and this is my blog. I like blogging, Thesis and teh intawebs.<br/>
<a href="/about/">Read more on my about page</a></p>
</li>
<?php thesis_widget_recent_posts('', 'Recent Posts', '6'); ?>
<li class="widget">
<?php wp_list_bookmarks('title_before=<h3>&title_after=</h3>&category=2&category_before=&category_after='); ?>
</li>
<li class="widget">
<h3>Tags</h3>
<?php wp_tag_cloud(''); ?>
</li>
</ul>
</div>
<?php }
add_action('thesis_hook_footer', 'custom_footer', '1');
Update 2nd Nov 2009: To turn this into a widgetized footer area check out the code in comment 151.
You’ll notice it almost fits with the style, but everything is right-aligned, and the widgets aren’t next to each other. Also, if you’ve got a coloured background the text is a bit light. So, you can add the following to custom.css.
.custom #footer_1 {text-align:left; color:#333;}
.custom #footer_1 ul.sidebar_list li.widget {width:23%; margin-right:2%; float:left;}
.custom #footer_1 ul.sidebar_list li.widget h3 {color:#222;}
.custom #footer_1 ul.sidebar_list li.widget a {color:#444; border-bottom:0;}
.custom #footer_1 ul.sidebar_list li.widget a:hover {color:#111;}
That’s about it. You can replace the insides of <li class="widget"> </li> sections with whatever you want in your footer!
I love questions, so ask away!









{ 16 trackbacks }
{ 243 comments… read them below or add one }
Hey Kristra
Excellent work! Your tutorials are clear and helpful! Keep up the great work. Thanks for sharing your resources and tips. :)
That’s pretty simple. I reckon these Thesis guys should have you putting their tutorials together, certainly nice and easy to work through with the layout you’ve put together.
If I want to replace the links in the footer just adjust the links and code in the php. functions file? okay, what if I want to change or show more pics from flickr on my social page? I want to replace two of the links in the footer. Thanks in advance for the help.
-Miguel
Thanks guys!
Mat, I’d be happy to, but as long as no one is paying me to do anything I figure I’ll just keep creating traction on my own blog, as well as reasonably regular visits to the forums. ;)
Miguel, for your footer the links are all generated from WordPress link categories. So if you want to add or remove links the best way to do it would be through the links manager. I.e. the Social ones are in a category called social, same for ‘worth a read’ and the popular ones are in the post category ‘Popular’, you need to add or remove posts from that category. As for showing more thumbnails from Flickr, try uploading more photos, you’ve only got 6 on there and they’re all showing.
Chiming in, thanks for the clear and great write up :)
That was awesome!!
I’ve been looking for something like this for awhile. Can’t wait till I have a bit of free time, to try it out on my site.
This is great! Thank you so much. Just a couple of problems . . . my text won’t wrap around photos in the footer and the font sizes are off. Is there some code I’m missing?
Also, can you tell us how to style our comments like yours?
THANKS!
Hey Jenn,
To wrap text around images float the image. For that image in my footer I gave it a class of profile and in custom.css
.custom #footer img.profile {float:left; margin: 0 0.5em 0.25em 0; padding: 0.2em; background-color: #eee; border:1px solid #ddd;}Feel free to take a look at my custom.css. The section that deals with comments is marked as such. If you have further questions about it or want me to write a more detailed post on it, let me know.
If you have the time can you look at my site, I have tried to follow the directions but I am not sure how to add a list under “book reviews” that is in my footer. Also if you know how do I align left the “about Me” and the titles on that same line.
Thank so much for this tutorial.
Laurel,
Use
.custom #footer_1 {text-align:left;}or if you only want the headings on the left.custom #footer_1 h3 {text-align:left;}.Cheers :)
Thanks for all the info you’ve posted! I’m wondering what widget/code are you using to call twitter in the footer of your page?
I’d like to do something similar, but don’t really understand enough php to second guess what you’ve done.
Hey John,
You’re welcome!
The Twitter code is from Twitter itself. It took me a while to find that page, it’s not advertised very well. If you follow the instructions for the HTML widget you should get there.
Great! Thanks so much!
Ahh, just what I was looking for :) Thanks a lot for the tutorial. It was very easy to follow and has allowed me to make a few changes that I wanted to. Thanks a lot.
Cheers, Alex and John! Very happy to be of help. :D
Thanks for all the helpful information you provide! Would you happen to know how to get rid of the “Wordpress Admin” link that appears in the footer? Thank you:)
Steve — You’re welcome!
The admin link is an option on the Thesis Options page.
Got it! Thanks!
Would you happen to know how to alter the Thesis theme to keep the home page static? I’d like to use this theme for a website. I haven’t been able to find an example. Thank you:)
Steve — The functionality to make WordPress use a page as the homepage has always been under Settings > Reading. However, check out the new version of Thesis that came out last night. It has a whole slew of new homepage settings.
Great tutorial Kristarella. Useful tips that are super-easy follow.
Still needs a bit of tweaking, but the footer I’m using at DIYninjas is based on this tut and I’m lovin’ it.
Cheers Mitch! I’m loving how DIYninjas is shaping up, so great to know that you found this useful! I really should add in the info about widgetizing it… maybe I should do a new post about widgetizing the whole theme.
And thanks back at you for the feedback! Tutorials here are sweet – in part that’s what I love about Thesis though, it’s so simple to share code as a community.
Extremely helpful. I’m very grateful for your posts on the Thesis forums, too.
Thanks so much for this! I now have a 3-column footer on my site! Next to tackle features and teasers. You don’t have any more tutorials up your sleeves, do you?
Cheers Mary. What else would you like a tutorial on? I can try to write one. ;-)
Maybe not so much a tutorial as a guide on how to use the new features feature and the new alternate page?
Mary — by “feature” do you mean the feature box? I can’t promise anything at this point, but I’ll definitely look into those things and see what I can do.
Yes – feature box. I’ll look forward to it! Thanks again!
Thanks for the info.
I have a related ( I think) question. I simply want to put the RSS feed that I have as a widget in my sidebar into a single page with nothing but the feed. It seems like it would be relatively simple to do, but I can’t find a post on how to do this anywhere – in the thesis forums or out. Any help would be much appreciated.
JdeG — I’m not really sure what you’re asking. Do you just want to put a link to your RSS feed on a page, or do you want to embed the feed in a page?
I’m currently using the widget named ‘RSS’ – I’m using this widget to display an rss feed from another source – not my site’s rss feed (could be any external rss feed). I have it working in sidebar 2, but what I want to do is create a single page with the feed displayed in the main content area. I only want this on a single page. Does that make sense?
Basically I want the RSS widget in the main content area of a single page instead of in the sidebar.
Thanks for your response.
JdeG — Ok, I get you… No, it’s not really related at all ;-)
There’s a few different ways that you can try to go about it.
thesis_hook_custom_templateorthesis_hook_after_postand by adapting the widgetise media box tutorial.function exclude_posts() { if (is_home() || is_front_page()) { query_posts($query_string'&cat=-58'); } } add_action('thesis_hook_before_content', 'exclude_posts');Hi Krista,
I am trying to implement a couple of fixed floating boxes (simmilar to the ones you have for tweets and rss) to act as footer and meta control for the page. Unfortunatly I am getting quite confused and though I am able to see some code using firebug I still cannot get it implemented in my blog. Would you be able to do a tutorial on these?
Thanks.
Thanks Krista
I ended up using SimplePie. Here’s the function I created:
function mega_feed() {
if (is_page(‘Page Name Here’)) { ?>
<?php
}
}
I can’t figure out how to style it properly, but I’m just happy to have it working for now. Thanks for your help.
askewmind — I’m not exactly sure what you’re asking. If they’re in the footer, then they’re not really floating. Do you mean you want to replace the footer contents with floating boxes or just place some kind of floating menu to the side?
Hello Krista,
Sorry if I was not clear. What I meant is that I wanted to make floating boxes fixed in a position to contain the menu and maybe some other options (akin to your twitter and rss boxes). Initially i was considering to add those in an extended footer, thus the misunderstanding :-p
Thanks in advance.
askewmind — I’ll certainly think about how I might do that. My floating boxes don’t actually work in IE6 and I’ve hacked them so the site isn’t too ugly in IE6. I’ll need to think about that if I’m able to write about them.
Thank you so much for this post Krista! It is really helpful.
I have another question for you. I am trying to create a second navigation bar in the footer that matches the styles of the top nav bar. Including the current page styles, etc. I want the second nav bar to have different links than the first. Check out my site and you can see my attempt.
Any tips would be greatly appreciated. Thank you!
CJ, looks good. I would remove the
border-bottomfrom#footerand give itborder-top:0;.Thanks for checking it out, I actually need to clarify my question a bit.
I have the two nav bars now, but I want the one in the footer to follow the same rules as the nav bar in the header. For example, in the header, the tab of the current page you are on changes color. How can I make the same thing happen in my footer navigation?
Thanks for the help!
Oh okay. CJ, you need something like this code on the forum that uses conditional tags to assign the active classes.
I just got Thesis template but I am really struggling :o/ As dumb as it sounds I can’t even find the area that I am supposed to use to put things in side bar 2? Sidebar 1 has been fine since I’ve used widget but now I want to drop things into sidebar 2 like adsense and things but I just kind find where to put it without killing my site! Help!
rowena, it’s not really a Thesis thing, it’s a WordPress behaviour that you go to the Widgets admin page, select Sidebar 2 from the dropdown box on the right, click show next to it and then add widgets.
Hi Kristarella
Thanks for reply! It’s not the widgets I’m having trouble inserting, its anything that is like code or script – for example I got some code for ’sitemeter’ and some code for ‘adsense’ but I don’t know where to put it for it to show up in the sidebar…
rowena, usually that stuff can go in a text widget, but otherwise you would use the
thesis_hook_before_sidebar_2orthesis_hook_after_sidebar_2hooks.thanks, in what order and how do I combine them with the code I am using ti get it to work? I keep getting syntax errors.
rowena, is the code you want to put in Sidebar 2 just HTML and javascript? If so, put them in text widgets. If not, you need to create a function and then use the hook, if you don’t know how to do that Sugarrae’s tutorial will probably help you.
Hi Krisa,
Nice work.
Little question. How can i add javascript in de head section of html. I don’t know wich hook(before, after) i have to use to do this?
Thx in advance and keep up the good work.
I appreciate it.
Mike, use the
wp_headhook to insert stuff into theheadsection of the page.Thx for the fast reaction Krista. I found another solution meanwhile: add_action(‘thesis_hook_after_title’, ‘javascript’);
mike
x
I need a bit of help with my footer Krista..(killer job with the tuts btw)
Specifically, I have set up the widgets(?) to be About, More Recent posts, Tags and BlogRoll.
1. I cannot(after trying almost everything I can think of) seem to change the font colour for the text under About. Also, I need to get it like normal text(starts with a capital letter) not capitalised throughout. Weird because I have pasted it as normal text in custom functions. I also want the text to be the same size as the text in the other widgets(?) but that doesn’t happen so I’ve settled for H6. For now. The colour also is a disaster….too dark, I need it to be #666666. It also starts a space below the rest of the widget’s text. In short , it’s a disaster.
2. Is there any way I can get More Recent Posts to read as simply Recent Posts?
Cheers,
Nash
Nash — any element using an “h” is a header element and in the sidebar headers have
font-variant:small-caps;applied to them. You probably want to wrap the about text in<p>...</p>instead. If you do that you might want to add.custom #footer li.widget p {font-size:1.1em; color:#666;}to your CSS, which will also fix the colour.You can only change the “More recent posts” if you edit the core widgets function in Thesis. What it actually does is show the most recent posts after the posts on the homepage, because there’s no point showing the posts that people have just looked at. Then on other pages it shows the most recent posts (see it changes if you go to the about page or somewhere else). The title reflects that.
Hey Krista,
Thanx for the assist, almost have the footer nailed down… :-)
Is there any way to remove the underlining on the Read more on the about page link and make it the same colour as the About heading in the footer?The on-hover bit is fine….
Also, is there any way to get the nav_menu in the footer but above the copyright notice?
Nash — where you have
.custom #footer_1 ul.sidebar_list li.widget aaddtext-decoration:none;.You can put the nav bar in the footer with
add_action('thesis_hook_footer','thesis_nav_menu',2);, but note that it’s not valid code because you now have two things using the same ID.ul#tabsin both the header and footer.Marry me? :-P
Thank you so so very much….it’s amazing how you can intuitively shift between colour casting and drop down lists!
A bit more help on this….
Have realised that as time goes on my footer will get very fat with the addition of more and more tags…
How do I?
1)Get my recent posts to follow in successive lines and have a dotted underline below each line?As in, I want the dotted line to run the length of the column not just the length of the post. Kinda like a dotted line border.
2)Replicate the dotted line effect for the tags and blogroll?
3)Display only the 50 most-used tags at any point of time and keeping all of them of the same size?
Sorry for the repetitive trouble…
Nash — Looks like you have 1 sorted out. And it should work for the blogroll too. You can’t do it with the tags unless you make each tag go on a new line. For only displaying 50 tags you need to use the wp_tag_cloud function with the number parameter.
This is really very helpful…
Let me make changes and come back to u. :)
Hi Krista,
Thank you for such a great tutorial. One small issue with mine though. Any idea why my footer is showing the vertical right sidebar divider through the footer? It doesn’t seem to do it on the homepage, but all the other pages do??? I want the divider, but want it to act the way it does on the home page. You can see my site at wesellberks.com
Bill — one of the
<div>tags in your multimedia box does not have a corresponding</div>so all of the</div>tags after that are mismatched and your footer winds up inside#content_box. It’s not on the homepage because you’re using a video there, not the custom code.That’s awesome! That div snuck in there some how. Thank you for your help!!!
Hi Krista, Thanks so much! Even for an amateur coder like me you made this tutorial doable! I just have a couple of questions…
I use one of the Thesis backgrounds, and after I put in your codes in the custom_functions.php & the custom.css files, now my background shows all over instead of just around the edges (the content/header/sidebars used to be white). Any ideas on how to get the white back?
Also, how do I get a photo down in the photo w/ my About Me blurb like Miguel’s on simplyblog.net?
OH, one more, how do I get a “back to the top” button like you have? :)
Thanks SO much!
Nicole — if you change the CSS you had for the background from
.custom #page { background: #fff; }to.custom .page { background: #fff; }and then add.custom #footer_area .page { background:none; }after that, it should be right.To put a photo in, add a URL to an image in an img tag within the widget.
The back to top link links to an ID on the page. So add a link something like
<a href="#header_area">Back to the top</a>.Thanks so much! Also, this may be elementary, but how do I edit the wording of the “powered by thesis” blurb in the footer?
TQ for this cool tips.
do u know how to make the nav bar text to small cap or normal?
Hi Kristarella, one more quick question that I hope is an easy one. I notice that the footer attributions at the very bottom of the footer are all in one long horizonatal line in firefox, but are several lines in IE7. (actually, it appears the attribution area in IE is confined to the last column in the footer instead of spanning all the way across the bottom of the footer. Is there an easy fix for this?
Bill — use
.custom #footer p {clear:both;}Thanks you again Kristarella! That’s perfect!
Hi Kristarella,
I find your posts really helpful.
I am NOT using a fixed width header (am instead using Rick’s method of adding a clickable header image, which you linked to here).
Can I still activate full-width framework, in order to deploy a full-width footer? Or will this mess up the layout? I linked to my blog from my name above.
Thanks in advance for any suggestions! I am not well-versed in php, but grateful Thesis — and its wonderful community — allow me to muddle through.
nobugs — I don’t think switching to the full-width framework will effect the things currently on your blog.
Thank you again!
Hi Kristarella. Like Nicole in comment #62, I had problems with the background color after I tried to add the codes for footer background. I followed your instructions and got the white back on the pages, but have lost the container border colors. At this point, I’ll leave the footer white but I would like my borders back.
I also tried adding the footer hook in custom hooks but saw no change. I have a footer action that already adds my copyright info etc. and removes the thesis hook footer. Do I need to remove that hook in order to use your code? And do I need to add “add action” before your code?
Thanks so much for your great tutorials!
Lisa — What are you actually trying to achieve? You don’t have to use the full-width framework to add the extra footer content, so if you still want the page borders to encompass the footer to, use the page framework (learn more about the difference in my recent screencast on the full-width framework).
The footer function I’ve provided is independent from any others and its contents will get inserted before other footer functions you have. There is already an
add_actionin the code I provided, you don’t need another one unless you didn’t copy that bit.Hi again Kristarella. I am close but not quite there! I saw your instructions for wrapping text around an image in the footer, but how do I classify my image as a “profile” img in order for the css to work? The footer looks great by the way — thanks so much!!!
Lisa — to add an image with a class use the HTML
<img class="profile" src="http://www.example.com/image.jpg" alt="" />If you’re not really sure what I mean I recommend perusing W3Schools or Tizag for some basics on HTML (or XHTML) and CSS. :-)
Thanks so much. It worked like a charm!!!
So today I go searching for a quick tut to tweak my Thesis footer.. I don’t know why I even bothered with Google, just should’ve come straight here.
The tutorial couldn’t have been easier to do, now I just need to customize it all.
Hi and thanks for sharing this info. I was looking all over to find out how to adjust the footer of Thesis. You helped me a lot and I just love the outcome :)
Thank you for this info! I finally got my footer looking nice and cool :-)
Appreciate it!
Hi, another great tutorial and it’s looking good on my blog (http:MyFriendsHotel.com) – Thanks!
Just wondering if there’s an easy way to find out the correct names of “Widgets” – eg: a Text widget with Blip.fm embed – so that I can change the footer content from the default ones in your tutorial.
Cheers,
Pete
Peter — I don’t think you can just call widgets as functions, but if you want to widgetise your footer put the following code in custom_functions.php (not inside a function, just by itself).
register_sidebars(1, array( 'name' => 'Footer', 'before_widget' => '<li class="widget %2$s" id="%1$s">', 'after_widget' => '</li>', 'before_title' => '<h3>', 'after_title' => '</h3>' ) );Then replace all the hand-coded widgets in the footer function with
<?php thesis_default_widget(3); ?>. Then you can add the “about” stuff as a text widget from the admin section and use the killer recent entries widget and so on.Thanks alot for your tutorials !
How do I move my navigation outside the page like on http://www.kristarella.com (all the way at the top)?
Cheers !
Yvon
Yvon — you need to use the full-width framework. :-)
Thanks for this great tutorial! I’m currently experimenting with your code on my offline server and it seems to work. I also want to use my own widgets in the footer (some of them are in sidebar 1 and I want to move them to the footer) but I can’t figure out the code you gave to Peter (comment 81). Can you please give a more detailed example please? I’m also looking for the correct name of each widget. Thanks!
Serge — In WordPress 2.7 you need to just remove the widgets from Sidebar 1 (click ‘Edit’ and then ‘Remove’) and then add them to the “Footer” sidebar (select ‘Footer’ from the dropdown and click ‘Show’). If they are text widgets you might have to copy out the contents first into a plain text file and then copy it back in.
If you’re using WP 2.8 I’m not sure what you need to do because I haven’t had a chance to install it yet. I think you either drag the widgets from sidebar 1 to the Footer or to inactive widgets and then the Footer.
There is nothing to really figure out in the code I gave Robert, you just copy and paste it into custom_functions.php and it registers a new sidebar.
Thanks for your response! I use Thesis 1.5.1 and WP 2.8 but I can’t find that option ‘Footer’ from the dropdown menu…
In the meantime it seems that the “Footer” sidebar is activated. However, after I moved some widgets to the Footer, I can’t seem to activate them. I’m not a developer, so the codes are beyond my knowledge. Can you show some code examples using for instance the blogroll widget, category widget, etc… Thanks!
Sorry for the lack of response Serge. I was waiting to see if I got a chance to test it on WordPress 2.8, but I still haven’t yet. I haven’t looked at the new widget interface at all.
Glad the Footer area is showing, to have a look at using the widgets panel try this WordPress 2.8 video. Widgets are at 1:15min. If they don’t work like that then I’m not sure, I’ll have to test it more thoroughly.
It seems to work now, I reread your comment #81 and replaced my existing code with the php line you provided, that part wasn’t clear to me. But now my widgets are showing in the footer. Thanks!
I will have a closer look now how to finetune the layout, if I have some further questions I will pose then thoruhg the comments.
Another question if you don’t mind: some pages I added to my nav menu don’t have any sidebars; on these pages I also don’t want to show the widgets in the footer. Which code do I have to change? Thanks!
Hello. Great tut. I’m relatively new to this, especially the php stuff, so…I was looking for the answer in comment 81, however the last bit about replacing the hand coded stuff…where exactly am I putting the <?php thesis_default_widget(3); ?> code? I tried where I thought it should go and ended up with a parse error.
Help?
Also, I found the twitter widgets, but am looking for a clean version like yours, did you add some code to theirs? Care to share? ;-) Thanks so much!
I seemed to have gotten it to work. I had to re-upload my custom_functions file, did the same thing and it worked. Not sure why I keep getting parse errors when I try to do things.
Anyway, new question, the custom.css changes I made to put a background color in the footer area doesnt seem to be doing anything. I was hoping to add a background pattern in this area and have it tile.
But was going to try to get the color to work at least first. :-(
Also, how to I left-align these?
Sorry for all the posts…
Kristarella.
Is it somehow possible to have a footer that takes the entire width of the page but in page framework? My design must be page framework (I need to include my header id in the same color as my content id all this while having a different background color)?
Serge — If you wrap the code that is inserted into you footer with,
if (!(is_page('PAGE NAME') || is_page('OTHER PAGE NAME'))) : FOOTER WIDGETS CODE endif;of in the context of the code in the post it would be,
function custom_footer() { if (!(is_page('PAGE NAME') || is_page('OTHER PAGE NAME'))) : ?> ... <?php endif; } add_action...then it will not show up on those pages. The exclamation mark means “not” and the double pipes (||) means “or”. So it says “if not PAGE NAME or OTHER PAGE NAME do this footer widgets code”. You can read more about these WordPress Conditional Tags on the codex.
Robyn — try
.custom #footer li.widget {text-align:left;}to align the widgets left.Karim — If you watch my video on full-width frameworks you should be able to see how you can make the full-width framework look like the page framework.
You need to use the full-width framework, but give
#header_area .pageand#content_area .pagethe background that you would have previously given to#page.I’ll be damned.
I was sure I read every character on your site. Bloody hell it’s brilliant! (in other words, it worked!)
(no edit button sorry!)
Quick question. I’m trying to add text (or menu links) in my footer but they keep aligning right. I’d like them in the middle of the footer, at the center of the page. I guess it’s because thesis_hook_footer is on the right side but is there a way to move that in the middle?
Karim — The text in the footer is aligned right. Wrap your menu items in a paragraph or div with a specific class, e.g.
class="footer-center"then use CSS like.custom #footer .footer-center {text-align:center;}.Hey Kristarella,
I like the footer tutorial. However, I would like to put three such things under my header before the content
like this. What would be the best action? Thanks for the tutorials.
Hi K.D. If you want to add it below the header instead you would just change the hook you use from
thesis_hook_footertothesis_hook_after_header.Hello~
Since WP’s latest update, something is up with my footer. Any ideas? It seems to no longer be listening to the style code and is just in list form, n0 columns, nothing….HELP!?!
Thanks so much! I was going to build out one myself! I love the thesis community!
Hi! Great job on the footers tutorial – thanks!
Probably a really dumb question, but I can’t see the answer to my question in your footer tutorial or the thesis docs. I’ve purchased the developer’s edition, specifically so I can remove the “Get smart with the “Thesis WordPress Theme…” attribution link. Yet, I can’t find where/how to easily remove it. Any pointers would be appreciated. Thanks.
Robyn — sorry I missed your plea. Is it working now?
Randall — The answer is on the Answers blog ;-) Keep that place bookmarked, it’s gold.
No, didnt get it. I just put some tags down there for now and moved on. :(
Oh no :-( I’d be happy to work through it with you.
I think there must be an error in your custom.css that’s preventing some of it from being rendered. The only error I can see is:
body.custom { background: url('http://greendollarreport.com/subscribersarea/wp-content/uploads/2009/08/Hidef-Green_Grass_Blue_Sky_Bliss.jpg'); repeat}The semicolon should come after the word “repeat”. However, I just tried to fix that in Firefox and it didn’t fix it…
It sort of looks like your whole custom.css is being ignored, so have you got the option on the Thesis Options page checked where it says to use the custom stylesheet?
I tried the semicolon moving before as well. I will just leave it the way it should be. Yes, i am not sure why it is ignoring my custom.css. It is checked to be included in Thesis options. I cannot get my background to show up either, and I have the exact same code on another blog and it all works fine. So I am lost.
Here is the code I have for the footer:
/*Custom Footer*/.custom #footer_area {background:#8ec341; padding:0.5em 0; border-top:1px solid #bbd;}
.custom #footer {border-top:0;}
.custom #footer_1 {text-align:left; color:#fff;}
.custom #footer_1 ul.sidebar_list li.widget {width:23%; margin-right:2%; float:left;}
.custom #footer_1 ul.sidebar_list li.widget h3 {color:#222;}
.custom #footer_1 ul.sidebar_list li.widget a {color:#444; border-bottom:0;}
.custom #footer_1 ul.sidebar_list li.widget a:hover {color:#111;}
Great tutorial. I believe the use of footer widgets are very useful – and should be incorporated in more blogs.
Robyn — I found the answer: the “custom” class is not being assigned to your site. Have you got a function that is affecting the body classes?
This is all the custom.css modification I have made. As stated, the background is not working, not sure any of it really is now. …
/*Header Buttons*/#return-link { margin-top: -3px; margin-left: -1px; float: top }
#rss-link { margin-top: -3px; margin-left: -1px }
/*Custom Background*/
body.custom { background: url('http://greendollarreport.com/subscribersarea/wp-content/uploads/2009/08/Hidef-Green_Grass_Blue_Sky_Bliss.jpg') repeat;}
.custom #page { padding: 2em 1.9em; background: #fff; border: 0.1em solid #629084; border-top: 0; }
/*Custom Footer*/
.custom #footer_area {background:#8ec341; padding:0.5em 0; border-top:1px solid #bbd;}
.custom #footer {border-top:0;}
.custom #footer_1 {text-align:left; color:#fff;}
.custom #footer_1 ul.sidebar_list li.widget {width:23%; margin-right:2%; float:left;}
.custom #footer_1 ul.sidebar_list li.widget h3 {color:#222;}
.custom #footer_1 ul.sidebar_list li.widget a {color:#444; border-bottom:0;}
.custom #footer_1 ul.sidebar_list li.widget a:hover {color:#111;}
No, there’s nothing else wrong with your CSS file. The problem is that there is no body class of “custom” on your site, which makes me think that there must be something in custom_functions.php or somewhere else that is changing the behaviour of the body class. I noticed that on the home page you have two classes: “home” and “blog”, but not “custom”. So while it would be best to figure out what is interfering with the custom class if you remove every instance of
.customfrom your CSS, it will probably fix most of the issues as well.Here is the code in the custom_functions.php file:
/*Custom Footer Widget*/register_sidebars(1,
array(
'name' => 'Footer',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
/*Footer Code*/
function custom_footer() { ?>
<?php }
add_action('thesis_hook_before_footer', 'custom_footer', '1');
I must be doing something wrong, but copying and pasting the code, the recent posts don’t seem to show up. shouldn’t they be within ? however when i wrap it up in that it it makes a space for it, but still no recent posts are retrieved… weird.
Lon — Did you try to paste some code without encoding it in your comment? I don’t really know what you’re asking. All I can say is that pasting the whole function under adding extra content into the bottom of custom_functions.php should result in a bunch of widgets in the footer. It only needs to be wrapped in
<?phptags if you have unnecessarily ended the PHP environment in your custom file.Hey Kristarella, thanks for the response. I’m really not sure what was going on, i tried a straight copy and paste and the about me widget showed up, and the tag cloud worked, but nothing at all showed up for the ‘recent posts’ section.
I ended up going with http://www.fergusweb.net/codin.....get-areas/ creating 3 separate widget-able areas to get the same effect.
Thanks anyways though, i’ll probably revisit it when i need to again, i think your way would’ve been a lot cleaner.
Hey Lon, okay that is weird that one in particular didn’t show up… maybe the function name has changed since I wrote this… you know it looks like that is the case. I think it might be called
thesis_widget_recent_entriesnow.Yeah, I’m not down with making 3 separate widget areas for the footer, it is overkill. You can widgetise what I’ve got above. Instructions are in a previous comment.
You rock Kristarella, that was it! Is there somewhere that lists all the latest native thesis function names?
Lon, not that I know of. The closest things are in the Thesis “user manual” where there is a hook list and a filter hook list, but stuff that is built in to thesis I don’t think so.
This is the changes to the php file…(sorry tried to post before and it didnt seem to go through…)
/*Custom Footer Widget*/register_sidebars(1,
array(
'name' => 'Footer',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => ''
)
);
/*Footer Code*/
function custom_footer() { ?>
<?php }
add_action('thesis_hook_before_footer', 'custom_footer', '1');
Robyn — Sorry! Both your comments got caught in spam. There’s nothing there that suggests to me that it would be breaking the custom body class.
Seems perhaps there is something awry with the Thesis settings (there were some hiccups on previous upgrades when there was problems with database encodings that Chris couldn’t pick up on his tests.
If there’s nothing else in the custom_functions.php that would affect the body classes (it’s not the footer code or the custom.css file that’s the problem, it’s that the body element in the HTML has no class called “custom” so all the styles in custom.css are not being used), I would first try unchecking the option to use the custom stylesheet, save the options, then check it again and save the options. If that doesn’t work to restore the custom body class you might have to delete all the settings and restore them. To do that I:
delete_option('thesis_design_options'); delete_option('thesis_options');into the bottom of custom_functions.phpThat last one is only a last resort as it will delete all your Thesis options. I can see what the problem is, but from here I can’t diagnose it further.
kristarella
great tute, but i have a couple problems.
recent posts widget doesn’t show up.
how do i get the info i want into the footer widgets, like put the tags in etc.
also i would like pages in the footer instead of the side bar.
and how do i put my thesis affiliate link in place of the default one?
thanks, ron
Ron — For the recent posts please see comment 116. To widgetise footer see comment 81; I think that’ll cover the pages thing too as there is a Pages widget with WordPress. To remove the attribution link have a look at the DIYthemes Answers Blog.
Wow — thanks so much for posting these tutorials! Awesome!
I’m probably missing something obvious, but how do I view your custom.css file? I clicked the link you posted and it took me to a ‘page not found’ error page. And can I use the same comment style you have here for my website?
Also, how would I add a graphic/form for people to join a mailing list (like at this website: http://www.therebelution.com/) to the footer area?
Nicole — I’ve upgraded theme a few times since that link. My current CSS is probably here.
You can imitate my comment style if you want to.
You would need to sign up for a mailing service (Aweber or MailChimp are two popular ones) and they usually give you a form via javascript or HTML that you can insert on your page. To make it graphical like that you would use background images, or possibly inline images… it kind of looks like they might have used Dreamweaver to build the form structure with images.
I would suggest installing Firebug and checking out my Firebug video tutorial to inspect that sort of thing. It’s one of the best ways to figure out CSS.
thanks,
i have one more question
if you look at my footer you can see that the widgets are pushed over to far right
how can i bring them more left
Hi (response to #120),
So I tried to uncheck the css option and redo it, that didnt work…so, i have a question about deleting the settings:
Will it delete the css file and php file options only, or the options panel and open hook plugin settings, too?
Ron — they are towards the right because there is an extra empty widget on the left.
Robyn — it won’t delete the OpenHook stuff, it won’t delete the contents of custom.css or custom_functions.php, it will reset all of the options on the Thesis Options and Design Options pages, or more accurately it will delete them and the defaults will be reinstated.
Tried that (#120), actually have the delete opttions code in there now and it looks exactly the same, all the options are the same..its doesnt seem to have done anything…:(
Ok, first time I did it in the css file instead of the php…but i now did it as you said, and redid all my options, still no background and the css file is being ignored largely…so I am lost.
Robyn — If you have access to phpMyAdmin you can delete the Thesis options rows directly from the wp_options table and reset them that way. I’m afraid I can’t hypothesise any further as to how to fix your site. All I can say is that the custom body class is not being used and I don’t know why, but suspect the options in the database are corrupted somehow.
Robyn — Ok, if resetting the options happened, but hasn’t fixed it then I still think there is something screwing with the body classes. How is the class “blog” being applied to the body (see image)?
Could it be something from my host. The WP application is something my webhost offers free with hosting, but I have other WP’s installed on this host and they work fine…
http://www.faithfulspouseclub.com/blog
Other than that, I have no idea…I have OpenHook changes in effect, but they make no mention of body classes. These are all the changes I have made.
Btw, thanks for all your help troubleshooting this!
Thanks
You are awesome, I removed the empty widget and all is good.
Thanks, again
Is there a way to use background graphics and to do your footer using openHook rather than the stylesheet and functions files? It seems to be listening to that plugin.
Robyn — No, I don’t think it’s your host. I just think that for some reason the setting under Thesis Options > Design Customisations > Use Custom Stylesheet is not being detected properly. You might be able to work around it by copying the middle of the function and pasting into the OpenHook Footer box and You could put
<link rel="stylesheet" href="http://www.yourwebsite.com/wp-content/themes/thesis_151/custom/custom.css" type="text/css" media="screen, projection" />in the header scripts box on the Thesis Options page. Then remove all the.customfrom your custom.css file. The the styles should work.I would probably try upgrading to Thesis 1.6b first and see if that fixes it, then try that other stuff.
Ron — Cool! Glad we could get it sorted.
Hey Kristarella, just wanted to thank you for this tutorial. I’m new to WP and coding and this has been a great help. I messed up my php and managed to lock myself out of my wordpress admin, but once I got that fixed things seem to be working well. Thanks again.
Hi Kristarella — I just installed Thesis 1.5.1. Unfortunatley, I cannot get the Permalinks to work. Applying “Settings -> Permalinks -> Custom Structure -> /%category%/%postname%/” produces “The page cannot be found” errors for all of my pages and posts. If I select the “default” option (i.e. ?p=123) it works fine. Am I missing something? Thanks for any help you can provide:)!
Steve — you need to make sure that WordPress can write to the .htaccess file when you change the permalinks and also if you’re on a Windows server, they can be pretty retarded when handling URL rewrites, you might have to check it out with your host.
Thanks Kristarella! I checked and apparently I’m on an “older” hosting plan ColdFusion 7 which unfortunately does not support IIS Mod-Rewrites. I’d have to “upgrade” my plan ColdFusion 8 for this to work. However, that may cause my code to break. That stinks! Any known workarounds or suggestions? Thanks!
Steve — That sucks. No, I don’t know of any workarounds for getting pretty permalinks to work. Is it causing a problem regarding the footer tutorial above or for any code I’ve given? I can probably find a fix to get code to work, but not for the whole site to have better permalinks.
Hello Kristarella,
Thanks for the tutorial.
I’d like to have four columns in my footer as in your example, but your original code displays everything in a single column, ie stacked.
Also, I’d like to have three columns be just text, which I can edit easily, but I’m having a hard time inserting the Meta widget.
What am I doing wrong?
Thanks,
P.
Peter — if the widgets are not next to each other I would guess that you haven’t used the CSS at the end of the post.
To widgetise the footer use the code in comment 81.
Thanks so much for the speedy response. It may be too late on a Friday night, but I don’t quite get it. I inserted the register code from comment 81 like you say by itself, but where do I insert the code referred to at the end of comment 81:
“Then replace all the hand-coded widgets in the footer function with [that php code]. ”
What exactly in the original code does that php code replace?
And what’s the code to insert the meta widget in the footer?
Thanks!
Ah, nevermind, figured it out. Thank you!!!
Great customization.
Hi, it’s all crystal clear what you’ve written, thanks.
But I’m having a hard time on this one:
.custom #footer {border-top:0;} makes the double border invisble, right? Right.
But where (location, which file, maybe wordpress itself?) is responsible for that?
Because I want to make all the lines that divide the collums, etc – invisible.
Thanks!
If I found this one earlier, I wouldn’t ask… ;)
http://www.kristarella.com/200.....g-for-css/
Thanks, informative presentation.
I read through but maybe my english is not good but what is the final code for footer widget? I tried some but not working, thanks
Tinh — What are you trying to acheive? A footer with HTML you can code yourself or a widgetised area that you can drop widgets in using the WordPress Dashboard?
I think, I need a widgetised area, say 3 columns so I can drag/drop. I am bad at coding so, the first one may be challenging me. Thanks
The code you need pasted in custom_functions.php is:
register_sidebars(1, array( 'name' => 'Footer', 'before_widget' => '<li class="widget %2$s" id="%1$s">', 'after_widget' => '</li>', 'before_title' => '<h3>', 'after_title' => '</h3>' ) ); function custom_footer() { ?> <div id="footer_1" class="sidebar"> <ul class="sidebar_list"> <?php thesis_default_widget(3); ?> </ul> </div> <?php } add_action('thesis_hook_footer', 'custom_footer', '1');The CSS you need is exactly as-is at the bottom of the post.
Jonathan — Glad you found the Firebug video. It’s worth noting that Thesis 1.6 has a design option in the dashboard to hide all the default borders, so you might want to hold off until 1.6 is available, if you haven’t done it all already.
Thanks but unfortunately this does not work, after insertion into custom_functions.php, my blog displays as a blank page, no thing, is there anything missing in the code?
Tinh — Nope, just tested it and there is nothing wrong with it. Make sure you’re copying all of it (including the final semi-colon) and that you’re not pasting it in the middle of another function in custom_functions.php; I find it easiest to go the the very end of the file, hit enter a couple of times and paste it there.
I particularly like the design you had with the background image in the footer with the dirt and the seedling.
I am trying to replicate a similar look and have a few questions:
Is the image a transparent PNG?
How do you get it to “occupy” the same space as the text. I’ve tried by adding to footer_area in custom.css but not working.
Ron — Yes, it was partly a transparent PNG. I found an image that I liked the dirt in and I made a repeating image ut of it by taking a section of the dirt, cutting the image in half and moving the left side to the right and vice versa and blending the middle edges together. So, the two outer edges match up because they were originally next to each other and the middle is blended. That I used in
#footer_areawith the background repeat onrepeat-xand then the plant shoot was a background of the#footerand was transparent at the bottom to go on the dirt properly.Is it conflicting with other hooks installed? I copy all and it sill display nothing
If you have another function called
custom_footerthen it will conflict and you should change the function name. If not I can’t say much more without seeing your file. You can paste your custom_functions.php in Pastebin and share the link with me if you want to.Here is the link, hope you can help: http://pastebin.com/m30ba3c1f
Tinh — You do already have a function called
custom_footer. So, in the code that I gave you change the two instances of “custom_footer” to something else, e.g., “footer_widgets” and it should be fine.Hey thanks for the article. How do you display your all categories in the footer (full width footer, with child category without ul, li. You can check the example at Shoutmeloud.com). I am currently designing my theme but I am unable to show the category child properly, it always shows unordered list. Have a look at my work. http://img81.imageshack.us/img81/2360/foottg.jpg (footer. 3 column footer, filled with only 1 column). http://img515.imageshack.us/im.....ewlook.jpg (sidebar). Let me know your opinion about the design :smile:
I couldn’t add a background image to my footer. As a test I added
.custom #footer_area {background:#c3d9d6; padding:0.5em 0; border-top:1px solid #bbd;}
.custom #footer {border-top:0;}
to custom.css, and got nothing. Where should I be adding the “footer_area” ? I tried adding it using the OpenHook plugin as well.
Ron — Are you using the full-width framework (Design Options page)?
Ricky — That site does have the categories in an unordered list, but it’s just styled so the list items are floated left and form columns.

Hard to get an impression on a design from just a couple of chunks of it ;-) Make sure you leave enough breathing room (padding and margins) for readability. Colours look like a good choice.
Thanks, I got it. But the code for foot area background seems conflict with my background code then it does not work
Tinh — I don’t know what conflict you’re referring to; it seems to be working fine on your site. It’s impossible for me, when writing a tutorial, to predict how people might have already customised their blog so I have to assume that users have some knowledge of integrating CSS and HTML. If that’s not the case I recommend Tizag tutorials.
I did not have the setting for full-width framework on the design options page. Thanks that did the trick!
Dear Kristarella,
Could you please write a tutorial on how to make the comment area like yours, I know it is unique and you might not want to share but I and many others really love to have this :-) Thanks in advance
Tinh — I’d rather not because that would imply I’d like people to copy and paste my styles, where as I’d much rather people found inspiration in my styles, but made their own. Perhaps check out my Firebug tutorial to learn how to investigate CSS and see how certain CSS works.
Hi Kristarella,
I loved the footer tutorial, very helpful!!! Quick question this isn’t really footer related…how do you get the avatar in your comments for your picture and others? I having trouble finding that so I might as well as you, cause I like this one the best!
Thanks
Justyn — I think all you need to do is turn gravatars on in WordPress Settings > Discussion.
One more thing I realised…I copied both as you listed above, but when I’m on the home page only three of the widgets show and then when you click a post all four show. How can I fix that so they all show on the home page?
Justyn — I think it’s because one of the widgets is a Recent Posts widget and it doesn’t show on the home page because you’ve only got 6 posts on your blog so far & there’s no point showing a list of recent posts on the homepage when all the posts are already on the homepage.
Well don’t I look dumb on both…but anyways thank you so much for your help!!!
Greatly appreciated!!!
Kristella,
Thanks for your tutorial. What kind of code would be needed to have a list of pages and any way to specifically identify the pages?
Greetings!
This was very helpful. Thank you.
The custom functions used in your example work well, but I would like to add things like my category list and such, my blog roll (which I call “Good Links”) and so forth. Somewhere on the net I think I once say a list of function php code like the following that you used: Do you know of such a list?
I attempted to do what you did with the tag cloud, but with my blog roll, but so far my code is not too pretty….
Thanks so much!
Justyn — Nah, nothing dumb about it. The Recent Posts behaviour makes sense, but is not necessarily expected.
Peter — You need wp_list_pages.
Nathan — You can see all the template tags on the codex including
wp_list_categoriesandwp_list_bookmarksfor categories and blogroll. Also take a look at widget code in previous comments to make a widgetised footer if you don’t care for the template tags.My need is very simple and I tried to follow the Thesis Footer 101 link to see if that offered me the basics but the link is broken.
a) How do I place some simple content (not widgets just some styled text) before these two lines that automatically appear in the thesis theme footer?
This site runs on Wordpress using the Thesis Theme
Wordpress admin.
I managed to insert my text after these two lines by editing the footer.php file in the thesis theme folder.
But I gather it is better to use the custom_functions.php approach.
I understand a little bit of PHP code but really…I’m just copying and pasting and then changing the things that I understand. I understand all the CSS parts. When I want to do something completely different…I just don’t exactly understand the logic involved in the add and replace actions. So I’ve had no luck concocting a function that inserts my simple styled text.
Next question: How do I move, restyle, or replace those two lines.
For one thing, if I’m going to have that on the bottom of my thesis themed site, I’m going to replace the link with my thesis affiliate link .
I like the style you have on your http://simplyblog.net/ site….right at the bottom after your own footer content and restyled.
e.g. Can I somehow use remove_action to remove that part of the thesis footer and then add_action to insert a new style.
Your tutorials are helpful. Would be even better if sometimes you include not just the what but the why for those of us who are not as experienced.
Gigi — You can replace the entire contents of the function with whatever you want to be in the footer. All of the code in this tutorial will be inserted before the thesis attribution. If you mean before footer altogether you should use the hook
thesis_hook_before_footer. An almost complete list of hooks is on the DIYthemes site.You might also want to have a look at the footer category on the DIYthemes Answers blog, which should give you some direction on adding & removing things in the footer and styling it. For a general introduction to PHP, try the Tizag PHP tutorials. I found them quite useful when trying to grasp the syntax. Also, for a run down on using hooks in Thesis Sugarrae’s hooks tutorial might be helpful. I dislike two things about that tutorial: it dumbs things down such that it no longer uses PHP terms and language, which means you might not recognise things you’ve already learnt about when you read about them elsewhere, and it has some poorly formed code in it, but lots of people have found that tutorial very useful.
What link is that?
Sometimes I do include the why of things (my most recent post about javascript has a lot of why, which in the end didn’t get read by people who just want to copy and paste!). I probably didn’t explain a lot in this post because I wrote it just when hooks first came into Thesis and almost everyone had read Sugarrae’s post and the general vibe of the community didn’t seem to need it as much. I think now that Thesis and the community has grown so much, some of these initial topics need to be revisited.
Thank You Thank You for such a prompt reply.
I shall check out the references you’ve supplied.
The broken link that I was referring to is on this very page…. look below the trackback count
(as I am reading this it says there are 13 trackbacks) below that count there is a list of links. The sixth one down reads Thesis Footers 101 …..kristarella.com and I thought it might have additional info…but it’s broken.
Thanks again
Gigi — Ah okay. Thanks for that. The trackbacks are usually records of links coming in from other sites and occasionally links from another post on this site. That one is from another site, so I guess they deleted that post or something.
Hi Kristarella – what would be the modification to the above tutorial if I wanted 3 widgets only that were archives, cats, and recent posts? Sorry, I don’t know PHP and I’ve been fumbling through this with no luck.
Appreciate it, and sorry to add to the hundreds of others that have asked for help :-).
Chris — Check out my repsonse to Nathan in comment 176, I would say pretty much the same thing to you ;-) To make it 3 column instead of 4 change the
23%in the CSS to31.3%.OK great thanks!! Sorry I didn’t get to #178 on my own :-)
Chris — I understand ;-) The comments have gotten a bit extensive on this post. Just updated the post to point to the comment with the widgetizing code, so hopefully it will be easier to see from now on!
Just like to say – great guide Kristarella, I have a question though.
How can I get 2 widgets in one column?
I’ve gone for a 4 column design, (from left to right box 1-4) box 1 I want archive (in drop down menu) and search widgets, box 2-4 just my own text.
Thanks in advance
Rob — I’m not sure it’s the most elegant way of doing it, but without adding another widetised area and floating one left and one right, you could instead add your widgets in the order “box 4, 3, 2, Archives, Search”. Then float them right instead of left. With all the CSS the same as in the post except floated right that should visually provide what you’re describing.
I am trying to get a dual bar across the bottom in my footer with a drop shadow styling. I created a png file that I thought would work, and put it with a repeat-x. As you can see on my site, the png looks choppy and it hides behind the footer. I’m sure its a simple tweak, but I’ve looked all over this post and others trying to figure it out. any help would be appreciated.
Ben — The choppiness is purely the image; the shadow starts to fall off at the edges. Try cropping it to 5px right in the centre of that image and it should be ok. You might also need
.custom #footer_area .page {background:transparent;}.yeah, I tried cropping it to no avail. photoshop must do something weird with the edges of the file.
But THANK YOU for the transparent code. what is the .page tag indicating in that?
Ahh. Didn’t flatten the image in PS. That fixed it all up. Thanks again for the prompt help.
Ben — Haha, yeah, I was about to say you might need to flatten ;-)
The
.pageelement is the div in the middle of the full-width areas that maintains the content width and centres it. See more in my full-width video.I tried what you said about floating it right, it looks as I want in Firefox but Google Chrome is rendering it all incorrectly :-(
Ah, false alarm, I was editing the wrong float tag, all sorted now :-) Thanks once again!
Ah, ripping. Glad it worked!
Thank you for this great post.
Ok dear sir i would like to add pictures in front of catogory, as added in kristarella.com footer.
How to add such type of pictures.
Thank you
Bilal — I do that by adding a background image to the widget’s header in custom.css. Below is a screenshot to show you the HTML element that is my twitter widget and the CSS declaration that relates to it.
hey thanks kristarella.!!
loved it, its awesome..i will use it …!!
can you give the codes for related posts with a custom background image just below the post..!!!
thanks….!!
Shubham — Try this tutorial and see W3Schools on CSS background images.
Hello Kristarella-
First I would like to thank you for the fantastic tutorials you provide–as well as I admire your patience handling all of our questions!
That being said–I have been following along with your blog/site/tuts for a couple of weeks now–and have been fumbling my way around through the customization basics by trial and error. Yet, I have avoided leaving a comment here (or other places i.e. the DIY Thesis forum & other Thesis-users tutorials) until I felt it was absolutely necessary. At this point I feel it is–I’m ready to rip all the hair out of my head!
My primary issue: My custom widgetized footer is *not* showing the ‘Recent Posts’ widget on my home page–but it *is* showing up on all the other pages I created. I looked on Firebug to see what was going on–and my home page only shows a list of 3 widgets–yet the other pages show the list of all 4 that you specified in your example. I cannot for the life of me figure out why this is happening … ?
Please note I am clearly a novice at this.
To reference: Here is my “test site” I’m using for now until I learn all of this correctly to transfer over to a new site.
Also, I have the Thesis Open Hooks plugin installed. I’m not sure if that’s causing my issue or not…If that’s the reason for my inconsistencies then I would rather uninstall it–and do everything directly in my custom_functions.php & custom.css folders.
Please help?! :/ Thank You in advance!
Lindsay — The Recent Posts widget shows the most recent posts not listed on the page that you are currently on. So, if you have a total of 10 posts and 5 are showing on the homepage and your recent posts widget is set to show 5 posts, posts 6-10 will be in the content of the page and posts 1-5 will be in the recent posts widget (because there’s usually no point listing posts that are already listed on the page). If you had 15 posts and 5 shown on each page, the home page would have posts 11-15, the widget would have 6-10 etc. I would guess that you don’t have enough posts to overflow from the home (or blog) page yet so they’re not being listed in the widget on the blog page.
Ok, so it was as simple as that? Oops. Ok, thank you for your quick response. Earlier I tried to add another test post to see if I could resolve that issue–but I guess I didn’t add enough. I will take note of that.
I think my primary issue is then is that I’m trying to make my ‘home’ page a home page & not a blog page. Is there a simple answer to that? I just want to have a simple layout as my home page (header, content (not posts), sidebars, footer)–and my blog page to be a *separate page (in the nav bar)*. Similar to the way it is set up on my site here
That way all my recent posts from my blog will show up in my widgetized footer on the home (and every other page…)
Does this make sense?
Never mind my last question…I realized it’s a little more complex than what this post calls for. Thanks.
Lindsay — You should be able to make the home page a non-blog page and show the recent posts widget. I would think that the case I was talking about would only happen on the main blog page, whether that be the home page or another page as you have used. If you’re using a static home page the widget should still show up? I couldn’t see the widget on any of your pages, so I was guessing at the problem assuming you had deactivated the widget until you figured it out, because I have seen what I described happen before.
Hi Krista,
I’m new to Wordpress & Thesis and you are a godsend. Thank you.
I’m trying to style a full-width footer using CSS–but I messed it up as you can see here: http://hutsonresourcegroup.com/wordpress/
How can I fix this?
This is the CSS I added to my custom.css file:
.custom #footer_area {background:#2a4c59; padding:0.5em 0; border-top:1px solid #bbd;}.custom #footer {border-top:0;}
Mary — I imagine that you could have had a problem with the page background colour, fixed with
.custom #footer_area .page {background:trasnparent;}, but I can’t see a problem with your footer now.Thanks so much for this! What if I wanted the footer to be the Full Width of the bottom of the page? What would I need to do? Thanks!
Ed — You would use
.custom #footer_area .page {background:#f00;}, with the colour or image of your choice.Thanks so much for that line of code… I’m using the Thesis Theme for WordPress…. should I place this in my custom.css file? If so, where?
Currently my custom footer code in there is:
.custom #footer_1 {text-align:left; color:#FFFFFF; background:#043846;}
.custom #footer_1 ul.sidebar_list li.widget {width:23%; margin-right:2%; float:left;}
.custom #footer_1 ul.sidebar_list li.widget h3 {color:#FFFFFF;}
.custom #footer_1 ul.sidebar_list li.widget a {color:#FFFFFF; border-bottom:0;}
.custom #footer_1 ul.sidebar_list li.widget a:hover {color:#FFFFFF;}
Any help would be greatly appreciated, thanks so much again!!!!
Ed — Yes, it would go in custom.css. Anywhere in the file (as long as it’s not in the top commented section) is fine, but right above that block of CSS you have shown is a sensible place to put it as the CSS you’ve shown would be for stuff that is inside the element that I have shown.
again..i love it !
Kristarella,
Thank you so much for putting this great tutorial together, it’s helped me so much! I do have a quick question for you… we’ll, hopefully it’s quick for you to answer.
How did you create the footer_widget_area div that you have? Is there a Thesis hook you used to insert this at the level you did? Am I missing it?
I tried the thesis_after_content_box and thesis_before_footer, but it’s still getting inserted within the content_area div or footer_area div.
My goal is to have a footer widget area like you have that allows me to insert widgets. The code you’ve provided is excellent, but I’m wanting to put it all together to have a dedicated footer widget area like you do.
Thank you for your time and hard work!
Bryan
I see it’s already Christmas there! Merry Christmas to you and yours!!
Bryan
Thanks kristarella for the the codes..!! You are awesome..!
Bryan — You need the
thesis_hook_after_content_areahook.Hope you had a good Christmas too!
Merry Christmas Kristarella – I hope you’re having a good Christmas down under!
Thank you for your tutorial, it’s great to find people willing to help the likes of me – a newbie in the world of blog customization and Thesis.
When using the above code you gave for customizing the footer style background with CSS in full width page layout, I keep getting an unwanted block of white (very annoying!) and the double line border doesn’t seem to want to disappear.
The coding I’ve put in is: .custom #footer_area { background: #404040; padding: 0.5em 0; border-top: 1px solid #691616; }
I’d be grateful if you’d look at the code, check our site and share some wisdom.
I hope to hear from you soon.
Thanks
Nic
Nic — That’s a difference in Thesis 1.6 because of the new design colour options. You need
.custom #footer_area .page {background:#404040;}.Hello Kristarella,
A Happy New Year to you and your visitors!
I’m finally tweaking my footer widget, following your instructions and some comments, but I still have some questions because I’m not a programmer. On this printscreen I made some notes: http://farm5.static.flickr.com.....2673_o.jpg
1. The inside of the red rectangle should be also white. Which code do I have to implement and where?
2. Can I change the double line into a single line, and move the double line to the bottom of the page, just above my copyright/disclaimer footer?
3. Can I stack two smaller widgets in the same column?
A part of my CSS code:
/*——*/
.custom .page {background: #fff; }
.custom #header_area .page {background: url(‘../../../images/header.jpg’) no-repeat; height: 100px; margin-top:1em; margin-bottom:-1.95em; }
.custom #footer_area .page {margin-bottom: 1em; height: 25px; }
.custom #header {border-bottom: 0; }
.custom ul.menu {border-bottom: 0; }
/* .custom #content_box.full_width { background: none; } */
/* .custom .full_width #content { width: 930px; } */
/*——*/
.custom #footer_1 {background: #ffffff; font-size: 1em; text-align:left; color:#333;}
.custom #footer_1 ul.sidebar_list li.widget {background: #ffffff; width:23%; margin-right:2%; float:left;}
.custom #footer_1 ul.sidebar_list li.widget h3 {color:#222;}
.custom #footer_1 ul.sidebar_list li.widget a {color:#444; border-bottom:0;}
.custom #footer_1 ul.sidebar_list li.widget a:hover {color:#111;} */
A part of my custom_functions.php:
function custom_footer() { ?>
‘Footer’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ”,
‘after_title’ => ”
)
);
Thanks for your help!
Some of my code from the custom_functions.php doesn’t appear:
function custom_footer() { >
}
add_action(‘thesis_hook_footer’, ‘custom_footer’, ‘1′);
register_sidebars(1,
array(
‘name’ => ‘Footer’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ”,
‘after_title’ => ”
Hi kristarella
Thank in advance for this. I have been trying with no success to use the widgetized version of the footer.
I keep getting this syntax error message that points me to line 52:
Parse error: syntax error, unexpected ‘}’ in /home2/socialig/public_html/wp-content/themes/thesis_16/custom/custom_functions.php on line 52
and line 52 is basically this: <?php }
What might the problem be?
Serge — Answers to your questions are below.
I don’t know. I can’t tell just from a screenshot. It must have to do with either a background colour or padding that’s been added via custom_functions.php to sections other than the footer area.
Sure. In custom.css add
.custom #footer {border-top:none; border-bottom:3px double #ddd;}Yes. You can either create two widgetised areas and float one right and one left or you can try what I suggested to Rob in another comment.
Marvin — The error means that it didn’t expect to find a closing curly brace in that position, which means that you’re probably missing some other PHP syntax before that, possibly a semi-colon to end the line previous or an
endif;orendwhileor something like that.Great tutorial! Is there a way to make one wider than another? In other words, I want 2 that are one size, then a 3rd that is 300-400 px wide. Is it possible to have different widths?
Thanks again!
Darren — Yes, most widgets will have a unique ID or class that you can use to specify different widths. View the source of your page or use firebug to figure out the ID or class to use. An example is the Recent Snippets widget in my footer: it has a unique ID of “rss-2″.
Once you find the ID, how do you modify it? I searched in both custom_functions and custom.css and couldn’t find it???
Thanks!
-Darren
Darren — Add a line in custom.css something like
.custom #rss-2 {width:300px;}. Or if you’ve used the CSS in the post, after the line.custom #footer_1 ul.sidebar_list li.widget {width:23%; margin-right:2%; float:left;}add
.custom #footer_1 ul.sidebar_list li#rss-2 {width:46%; margin-right:2%; float:left;}to get that one widget to take up the space of two.
Is there anything different to consider with Thesis 1.6? I’m not having any luck using the supplied codes to generate the wigetized fat footer for my site.
http://www.adamingstudio.com
I had page framework set, but switched to full width with background color thanks to the new interface options in 1.6. But when I add the updated PHP from comment 151, I get nothing. So, am I adding that to the current PHP in the original post? I’m just a bit lost is all.
As always your help is amazing and I’m grateful.
Correction. I got it to work, but I wanted a custom background image for the footer. That’s working…sort of. It cuts the top of the image off and puts it on the bottom. I’ve played with the CSS and haven’t found anything.
Adam — The default for any background, if not otherwise specified, is to repeat horizontally and vertically, so that’s what’s happening, the footer is taller than the background image and it gets repeated.
In those cases I usually set the background to
repeat-xand the background position toleft bottomand make the background colour the same as the very top of the image so that shows through the gap, or if it look better you can set the position of the image to the top and have the colour at the bottom of the image show through. You can see all the background properties on the w3Schools site.repeat-x was indeed the key. Thanks for the link to the W3 School. Great resource.
I appreciate your willingness to help so much. May I call you a genius, or will that make you hide your face in embarrassment like your gravatar?
Adam — Hehe, thanks. I think the hands over face thing is a bit of shyness left over from when I was younger and the internet felt like a more dangerous place (not that it is less dangerous now, I’m just less naive, I hope). ;-)
Hi Kristarella.
I’m working on tweaking the footer code you’ve provided. I’ve looked at the codex for other things to put in the footer (I don’t want my long blogroll in there, for example). While I don’t want to widgetize the footer, I do want to put things in there from my sidebars which are in my sidebars through the help of a text widget. Various RSS feeds, for example, and just a graphic or two. I’m not really great with code, though, so this may be obvious, but…how do I do that? You use class=widget; how might a person just dump in some boring HTML (img links to whatever) or an RSS feed?
Also, I’ve been trying to get a color in the background as well as remove the lines, etc. That’s not happening, and I’m wondering what might be the problem. That, however, is less pressing than the question above, if I’m limited to one question. :-)
Thanks for your help. I appreciate what you do here.
OK — I figured out the first part of my question — any thoughts on the background color issue?
Hi Kristarella!
May I ask what Twitter plugin you use for your footer? The one at the Twitter website has way too much extra stuff on the top and bottom. :P
And thanks so much for providing all this help and info! It is beyond appreciated!
-Nicole
Julie — For the border you’d need the CSS in custom.css
.custom #footer {border-top:0;}. You can try adding a background colour to that.custom #footer {border-top:0; background-color:#fdd;}, but that will have a white border around it because of the#pageand#containerelements. If you want to avoid that you need to use the full-width framework.Nicole — I use the HTML/Javascript option for their site, which I wrote a tutorial on implementing Display your tweets without a plugin.
Awesome! Thank you so much!
Hi Kristarella,
Thank you so much for all of your codes, I am clueless to how to build a website, but thanks to you I am managing to create a very nice one. Thank you so much!
I used your code to create a 3rd sidebar, and it works great! I had been looking for a side bar that was the full witdh of my site and I was happily surprised that the 3rd bar ended up as such. However, I realy only want to have the 3rd one and delete the other first 2. I managed to do that by choosing the no sidebar option when creating a page in wordpress. So that all worked out very well, but now is my question, is there a way i can edit your origional code for the 3rd sidebar so that it only shows on my homepage (static page) so that when I choose the no sidebar option for my other pages I end up with non on those. I am sorry if my question is hard to follow.
Thanks you so much
Claudia
The Netherlands
Claudia — You can use Conditional Tags to add it only to the homepage. I.e., wrap the sidebar and widget code in
if (is_home()) { ... }. Or you might needis_front_page()if you’re using a static home page.Thank you so much, I have tried a few places of where to place the is_front_page() code. However, I am so brand new to this that I am just not quite sure where and how to place it. That said, though I am following the tutorials on Tizag as I saw you recommended in some of your posts, am determined to learn this.
Thank you for taking the time answering my questions.
Claudia — Just noticed that I was helping someone else with almost the same thing in comment 95.
Hi Kristarella ,
A bit off topic here but do you know how to make a thesis sticky footer??
Many thanks :)
Lee — I haven’t tried it, but you probably need
position:fixed; left:0; bottom:0; in the CSS.Thanks :)