Yes, registering the sidebar in your child theme’s functions.php is the first part. You can read more about how to register sidebars here:
Then you need to create a sidebar-myname.php file with the call to the new widget area you’ve registered using dynamic_sidebar():
Then you’ll need to add the call to sidebar-myname file to the appropriate template file (it depends on where you want to put it–probably footer.php for a right-hand sidebar) using get_sidebar():
And finally, you’ll want to style your sidebar with CSS in the child theme’s style.css file.
Thank you sixhours I am trying to do the same on http://www.rorybw.com/wordpress2/. I am teaching myself everything from scratch having started about 3 weeks ago but the CSS part is proving to be overwhelming! I am learning from the tutorials on html.net but I still don’t understand how I’m going to actually build this into my style.css file. Are there any other resources you can think of that could help me add a right sidebar?
This might be helpful:
Another great resource if you’re trying to teach yourself CSS is http://www.w3schools.com, that’s where I learned all the basics and still use as a reference from time to time.
“Then you’ll need to add the call to sidebar-myname file to the appropriate template file (it depends on where you want to put it–probably footer.php for a right-hand sidebar) using get_sidebar():”
I don’t think footer.php is where I want to call it from. I’m aiming for a right sided sidebar next to the main content of each page/post (AFAIK nothing to do with footers).
What template do I call it from then?
You can put it in footer.php because you’ll use CSS to move it to the right of the content area, or wherever you like. Actually, you can use CSS to put the sidebar almost anywhere, so the placement of get_sidebar() is almost irrelevant.
If you want to include it only on specific page templates but not others (for example, index.php but not archive.php), you’d include it only on the template files where you want it to appear. In this case, it may be helpful to read up on the different theme filenames and how WordPress uses them.
I created a sidebar in the same theme (Buttercream). Took me aaages as I’m a coding newb and from look of other posts here I didn’t do it in the best way but happy to share what I did if it helps.
I created a functions.php file in child, ran a ‘remove’ function to deactivate the whole buttercream_widgets_init() parent function (which registers the footer sidebar/widgets), then replaced that function with my own.
This was basically a cut/paste of buttercream_widgets_init() except you have to give it a different name or it causes issues (eg buttercream_child_widgets_init() or whatever). In that function I just added a fourth register_sidebar, copying the code from the others and calling this one right-sidebar.
Then I copied each file I wanted right-sidebar in into my child theme, keeping same name as parent(eg, single.php, page.php etc) and added a call(? sorry if my terminology’s all wrong!) to the new right-sidebar into each one, by adding the below code under get_header, after #primary .site-content section:
<div id="sidebar-right" class="widget-area" role="complementary"> <?php do_action( 'before_sidebar' ); ?> <?php if ( ! dynamic_sidebar( __( 'Right Sidebar' , 'buttercream' ) ) ) : ?> <?php endif; // end sidebar widget area ?> </div>
(Reading above posts, sounds like footer.php would have been a better place for this – I should prob look into that! My way works but means I’ve replaced a fair few parent files, meaning I’ll miss out on parent theme updates affecting those files).
Finally I styled the CSS in my child style file. I used firebug to peek at the way other sites did this, as I was new to css too. I’ve also become a fan of http://www.w3schools.com, for html and css basics.
I did all this a while ago so hopefully I’ve remembered it correctly. It’s working for me, though when I upgraded to latest version of buttercream my mods disappeared so I had to revert to old version. I’ll chase this up in a separate thread but it’s something to bear in mind when reading my post I guess!
Without having a link to look at, I’d say try floating it to the right, with the content column floated to the left. And ensure the call to get_sidebar() is within the same div as the content column.
To keep it responsive, you’ll probably need to add media queries for the sidebar to the child theme’s stylesheet depending on what you want it to do (hide, move underneath the content area, etc.) You can find the media queries (they started with @media) for Buttercream at the bottom of the original theme’s style.css to get an idea of how those work.
I’m using a responsive wordpress theme to build my new website (http://kwma.fredserva.fr/?themedemo=kwma).
I would like to create a widget area on the right hand side of the homepage (http://www.waziproject.com/wazimagazine) in order to have a sidebar on the right hand side in which to showcase banners.
I’ve tried using code from http://www.responsivegridsystem.com/, but I’m simply not managing.
I guess in the end I just need to create a column within the container before the loop starts, right?
Any help would be tremendously appreciated!
@arnaudhoudmont, I’d suggest posting in a separate thread, since this one is marked resolved and you’re not using the theme in question.
this may be a dumb questions, but as my dad always says dumb questions are the ones you don’t ask, so bear with me here as i am trying to learn…
assuming i wanted three sidebars in this theme, and wanted to position one right, one left, and one on the bottom, would i really need to strip out the old sidebars and create new ones? couldn’t i just use the CSS to move the existing sidebars to the positions i wanted?
- The topic ‘[Theme: Buttercream] Anyone care to share how to create a sidebar?’ is closed to new replies.