WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Adding New Sidebars (11 posts)

  1. Nik_10
    Member
    Posted 1 year ago #

    Hello,
    I just want to add 2 sidebars to a custom theme that I didn't create. The site is http://www.yourneighbormagazine.com

    I have added the following to my fuctions.php file:

    if ( function_exists('register_sidebars') ) {
    	register_sidebar('2');
    	register_sidebar('3');
    	register_sidebar(array(
    		'before_widget' => '<li id="%1$s" class="widget %2$s">',
    		'after_widget' => '',
    		'before_title' => '<h2 class="widgettitle">',
    		'after_title' => '</h2>',
    	));
    }

    I have the sidebars visible in the widget admin area. I then added created a sidebar2.php file which looks like:

    /**
     * @package WordPress
     * @subpackage Default_Theme
     */
    ?>
    	<div id="sidebar" role="complementary">
    
    <ul>
    			<?php 	/* Widgetized sidebar, if you have the plugin installed. */
    					if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
    
    <li>
    				<?php get_search_form(); ?>
    			</li>
    			<!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it.
    
    <li><h2>Author</h2>
    			<p>A little something about you, the author. Nothing lengthy, just an overview.</p>
    			</li>
    			-->
    
    			<?php if ( is_404() || is_category() || is_day() || is_month() ||
    						is_year() || is_search() || is_paged() ) {
    			?>
    <li>
    			<?php /* If this is a 404 page */ if (is_404()) { ?>
    			<?php /* If this is a category archive */ } elseif (is_category()) { ?>
    			<p>You are currently browsing the archives for the <?php single_cat_title(''); ?> category.</p>
    
    			<?php /* If this is a yearly archive */ } elseif (is_day()) { ?>
    			<p>You are currently browsing the <a>/"><?php echo bloginfo('name'); ?></a> blog archives
    			for the day <?php the_time('l, F jS, Y'); ?>.</p>
    
    			<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
    			<p>You are currently browsing the <a>/"><?php echo bloginfo('name'); ?></a> blog archives
    			for <?php the_time('F, Y'); ?>.</p>
    
    			<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
    			<p>You are currently browsing the <a>/"><?php echo bloginfo('name'); ?></a> blog archives
    			for the year <?php the_time('Y'); ?>.</p>
    
    			<?php /* If this is a monthly archive */ } elseif (is_search()) { ?>
    			<p>You have searched the <a>/"><?php echo bloginfo('name'); ?></a> blog archives
    			for <strong>'<?php the_search_query(); ?>'</strong>. If you are unable to find anything in these search results, you can try one of these links.</p>
    
    			<?php /* If this is a monthly archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
    			<p>You are currently browsing the <a>/"><?php echo bloginfo('name'); ?></a> blog archives.</p>
    
    			<?php } ?>
    
    </li>
    		<?php }?>
    		</ul>
    		<ul role="navigation">
    			<?php wp_list_pages('title_li=<h2>Pages</h2>' ); ?>
    
    <li><h2>Archives</h2>
    <ul>
    				<?php wp_get_archives('type=monthly'); ?>
    				</ul>
    </li>
    			<?php wp_list_categories('show_count=1&title_li=<h2>Categories</h2>'); ?>
    
    <ul>
    			<?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?>
    				<?php wp_list_bookmarks(); ?>
    
    <li><h2>Meta</h2>
    <ul>
    					<?php wp_register(); ?>
    
    <li><?php wp_loginout(); ?></li>
    <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li>
    <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li>
    <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li>
    					<?php wp_meta(); ?>
    				</ul>
    </li>
    			<?php } ?>
    
    			<?php endif; ?>
    		</ul>
    	</div>

    [please read http://codex.wordpress.org/Forum_Welcome#Posting_Code for how to post code - the above code is unusable because it is partially corrupted by the forum parser]

    and then I uploaded that file via ftp to the site. Then I added the following to the index.php file:

    <?php get_sidebar(); ?>
    
    <?php include (TEMPLATEPATH . '/sidebar2.php'); ?>

    I can drage widgets to my new sidebars but still nothing appears on the site.

    Can someone help?

    Thanks!!!!
    Nicole

  2. Jose Castaneda
    Member
    Posted 1 year ago #

    1. Please don't post more than 10 lines of code. Forum Rules
    2. The reason it isn't displaying anything is because you are not calling the sidebar you want to load. How get_sidebar() works.

  3. Nik_10
    Member
    Posted 1 year ago #

    Apologies on the code. Thanks Jose I will take a look!

  4. Nik_10
    Member
    Posted 1 year ago #

    I have tried every option that I can find in forums and from codex but I can't seem to get my new sidebars to appear on the page.

    Where should I be calling the sidebar from?

    I deleted the line in the index.php file for sidebars and the one still appears.

    Can anyone help?

    Thanks!

  5. Jose Castaneda
    Member
    Posted 1 year ago #

    From the few lines of code you posted I would say try putting this in your index.php file:

    <?php get_sidebar ( '2' ); ?>

    The file name that will call is sidebar-2.php. The one thing you will want to remove is the @package from the sidebar file as well as the conditional function_exists() since you are using 3.5 and register_sidebar() has been around 2.5 with the name parameter. :) Hope that helps a little bit.

  6. Nik_10
    Member
    Posted 1 year ago #

    Hi Jose,
    So you are saying that I need to remove the "@package WordPress" from both sidebar php files? Is this the right place to remove it from:

    '<?php
    /**
    * @package WordPress
    * @subpackage Default_Theme'

    And then remove the whole line with the function_exists() from the same pages:

    '<?php /* Widgetized sidebar, if you have the plugin installed. */
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>'

    Do I keep the list tag after that line?

    Thanks!
    Nicole

  7. alchymyth
    The Sweeper & Moderator
    Posted 1 year ago #

    http://codex.wordpress.org/Function_Reference/register_sidebar

    this code does not really have any meaning:
    register_sidebar('2');

    try instead:
    register_sidebar( array( 'id' => '2' ) );

    as already suggested, name the sidebar file sidebar-2.php and call it with <?php get_sidebar('2); ?>

    for testing, this is all you would need in sidebar-2.php:

    <div id="sidebar" class="sidebar-2" role="complementary">
    <ul>
    	<?php if ( !dynamic_sidebar(2) ) : ?>
    <li>please use widget in area 2</li>
    	<?php endif; ?>
    </ul>
    </div>
  8. Nik_10
    Member
    Posted 1 year ago #

    This is what I currently have in my functions.php file for the second sidebar:

    'if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
    'name' => 'Sidebar2',
    'id' => 'sidebar-2','

    Is that where you are saying I need to make the change?

    I changed the sidebar-2.php file and added the call for that sidebar to my page.php file but I am still only seeing the original sidebar. If I delete the <?php get_sidebar(); ?> from my functions.php file it still shows the info in the first sidebar widget.

  9. alchymyth
    The Sweeper & Moderator
    Posted 1 year ago #

    with your sidebar registration, the code in the sidebar file should be:
    <?php if ( !dynamic_sidebar('sidebar-2') ) : ?>

    please post the full codes of following templates:

    - functions.php
    - sidebar-2.php
    - index.php or from whatever file you are calling the sidebar(s).

    (if these file are longer, plese use the pastebin - http://codex.wordpress.org/Forum_Welcome#Posting_Code )

    and a link where you expect the sidebar to appear.

  10. Nik_10
    Member
    Posted 1 year ago #

    Functions.php- http://pastebin.com/u8AXdygd

    sidebar-2.php:

    '<div id="sidebar" class="sidebar-2" role="complementary">

      <?php if ( !dynamic_sidebar(2) ) : ?>

    • please use widget in area 2
    • <?php endif; ?>

    </div>'

    Page.php- http://pastebin.com/MAsHV4K7

    sidebar.php:- http://pastebin.com/arP721A1

    Thank you for your help! This theme is really old and I am having problems working with it.

  11. Nik_10
    Member
    Posted 1 year ago #

    I got it to work.... thanks for the help!!

    Nik

Topic Closed

This topic has been closed to new replies.

About this Topic