Get a free trial // Grow your CSS skills // Land your dream job

Page aware sidebar.php in WordPress.

  • # May 1, 2009 at 12:44 pm


    I’m trying to make my custom sidebar.php file for wordpress aware of what page it is beeing loaded on. You see, I want to add "sub links" when you click a category link so to speak. At this time the sidebar is made with normal links like this:

    Anyone know an easy way to do this?


    # May 1, 2009 at 12:55 pm

    Why don’t you use wp_list_pages

    # May 4, 2009 at 10:28 pm

    I might be misunderstanding your question, it sounds like a job for Conditional statements, however….

    You can easily manage this with widgets!

    I use flexipages to set the parent / child links, you can have multiple instances of flexipage if you have more than one set of subpages. Then I use TS custom Widgets to control which widgets appear on which pages / posts / categories / archives etc. using conditional statements.

    For me this was great because it eliminated the need to create custom templates calling custom sidebars etc. I found that to get messy in a hurry and difficult to manage changes.


    # May 7, 2009 at 10:39 am

    I ran into a similiar problem with one of my wordpress sites.

    I ended up using this code to display subpages:

    < ? if (!is_category() && !is_archive() ) { if( $post->post_parent != 0 ){
    // display subpages of my parent page

    post_parent) ?>” rel=”bookmark” title=”Permanent Link to < ?php echo get_the_title($post->post_parent); ?>”>< ?php echo get_the_title($post->post_parent); ?>

      < ? $children = wp_list_pages('title_li=&echo=0&child_of=' . $post->post_parent);
      if ($children) echo $children;

    < ? }else{ // display subpages of myself ?>

    ID) ?>” rel=”bookmark” title=”Permanent Link to < ?php echo get_the_title($post->ID); ?>”>< ?php echo get_the_title($post->ID); ?>

      < ? $children = wp_list_pages('title_li=&echo=0&child_of=' . $post->ID);
      if ($children) echo $children;

    < ? } } ?>

    And it works well, if the page is a subpage, or has subpages then they get displayed. This can be changed how ever someone else wants to use it. But it’s worked well on a couple of wordpress sites now.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.

There's a whole bunch of content on CSS-Tricks.

Search for Stuff   •   Browse the Archives

Get the Newsletter ... or get the RSS feed