0

I am new in WordPress. I was working with Drupal for some days, before. Now, I am interested on WordPress. So, I am trying to learn it.

My problem is, in WordPress I did not find any two sidebar theme or layout. I saw, WordPress always has one sidebar (left or right), which lies inside <aside> tag. But, in Drupal there are 2 sidebars (sidebar-left, sidebar-right). But, A user or developer always has an option to choose from those, one or two sidebar he need.

Is it possible to get any theme, which can help me to make a two sidebar theme? Any blank theme also will be OK. I got one blank theme called Blank Slate, which is just awesome. But problem is, it has only one side bar.

In short, for my project, I need a 2 sidebar blank theme. Is it possible to get? Thanks, in advance.

  • Assuming you know your way around HTML it would be very easy to modify Blank Slate into becoming a 2 sidebar theme. You'd just need to create a new file, sidebar-left.php or something similar and add <?php get_sidebar('left');?> before the <section id="content"> tag. – Poisontonomes Aug 20 '13 at 10:04
0

In your "Blank Slate" starter theme:
STEP I: Open the functions.php and find the word: "register_sidebar". Inside the blankslate_widgets_init() function, paste the following codes just after the register_sidebar() ends, but inside the blankslate_widgets_init() function (before closing second braces - '}'):

register_sidebar( array (
'name' => __('Left Widget Area', 'blankslate'),
'id' => 'secondary-widget-area',
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => "</li>",
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );

It'll register are new sidebar area into the admin panel. And the id will be available to call it into front-end.

STEP II: Now, copy the sidebar.php and paste it and rename it into: sidebar-secondary.php. Now erase all the codes inside, and paste the following:

<aside id="sidebar" role="complementary">
<?php if ( is_active_sidebar('secondary-widget-area') ) : ?>
<div id="secondary" class="widget-area">
<ul class="xoxo">
<?php dynamic_sidebar('secondary-widget-area'); ?>
</ul>
</div>
<?php endif; ?>
</aside>

STEP III: Get into the index.php. You'll notice a <?php get_sidebar(); ?> after the ending </section> tag. Similar to the line just add a simple line after the <?php get_header(); ?>, but before the starting <section> tag, like below:

<?php get_header(); ?>
<?php get_sidebar( 'secondary' ); ?>
<section id="content" role="main">

Now your layout consists of two sidebars. Rest is up to you - the mighty CSS. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.