WordPress.org

Ready to get started?Download WordPress

Forums

Buttercream
[resolved] Anyone care to share how to create a sidebar? (15 posts)

  1. Sjourney
    Member
    Posted 2 years ago #

    I'm not talking about widgets.
    I'm talking about a widget container that would fit in the content container on the right side. Does something need to be put in the child's functions.php ?

    http://wordpress.org/extend/themes/buttercream/

  2. Caroline Moore
    Member
    Theme Author

    Posted 2 years ago #

    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:
    http://codex.wordpress.org/Function_Reference/register_sidebar

    Then you need to create a sidebar-myname.php file with the call to the new widget area you've registered using dynamic_sidebar():
    http://codex.wordpress.org/Function_Reference/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():
    http://codex.wordpress.org/Function_Reference/get_sidebar

    And finally, you'll want to style your sidebar with CSS in the child theme's style.css file.

    HTH!

  3. r18ory
    Member
    Posted 2 years ago #

    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?

    Many thanks

    Rory

  4. WPyogi
    Volunteer Moderator
    Posted 2 years ago #

  5. pdxchambers
    Member
    Posted 2 years ago #

    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.

  6. Sjourney
    Member
    Posted 2 years ago #

    @sixhours
    "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?

  7. Caroline Moore
    Member
    Theme Author

    Posted 2 years ago #

    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.

  8. s b
    Member
    Posted 1 year ago #

    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!

    HTH!

  9. Sjourney
    Member
    Posted 1 year ago #

    Thanks @s b
    I've used your advice to register and call the sidebar. Now my issue is because I've put the get_sidebar() call in the footer.php it's showing up in the footer area. @sixhours mentioned that this could be fixed with CSS. Any ideas how to do that and still keep the html 'responsive' ?

  10. Caroline Moore
    Member
    Theme Author

    Posted 1 year ago #

    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.

  11. arnaudhoudmont
    Member
    Posted 1 year ago #

    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!

  12. Caroline Moore
    Member
    Theme Author

    Posted 1 year ago #

    @arnaudhoudmont, I'd suggest posting in a separate thread, since this one is marked resolved and you're not using the theme in question.

  13. arnaudhoudmont
    Member
    Posted 1 year ago #

    Ok. Will do. Thank you.

  14. bill.boyles
    Member
    Posted 1 year ago #

    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?

  15. prsetiadi
    Member
    Posted 1 year ago #

    @bill.boyles: no its's not a dumb questions.. but the answer i could think of is.. you just need to find another theme with such sidebars. much more easier than dealing with so much php and css..

Topic Closed

This topic has been closed to new replies.

About this Theme

About this Topic