Page 1 of 1
How to say "if sub navigation exists", need help...
Posted: Tue Aug 25, 2009 6:26 pm
by WithHisStripes
So I'm working on this site based on Wordpress:
http://www.thedaylightstudio.com/testin ... ng_counsel
And when you rollover over "Endorsements" it should show a different background image than all of the others. This is because they all have sub navigation elements and this one doesn't. So I need to write a PHP statement that says "If sub pages are listed beneath this than echo" but I'm not sure how to do that. Can anyone help?
Thanks!
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 12:17 am
by paqman
Can you post the code that outputs those tabs?
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 11:42 am
by WithHisStripes
Yep:
Code: Select all
<div class="row-2-col-1">
<img src="../wp-content/themes/coaching-counsel/images/portrait-of-founder.jpg" /><!-- This enables use for the additional fields option when creating a Wordpress page or post. -->
<br />
<!-- This lists the navigation for all "Pages" within the account -->
<li class="page_item page-item-7"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/archives" title="Coaching Corners Blog">Coaching Corners Blog</a>
<ul>
<li class="page_item page-item-129"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/archives/example-2" title="Example 2">Example 2</a></li>
</ul>
</li>
<li class="page_item page-item-9"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/presentations" title="Presentations">Presentations</a>
<ul>
<li class="page_item page-item-74"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/presentations/example" title="Example">Example</a></li>
<li class="page_item page-item-133"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/presentations/example-2" title="Example 2">Example 2</a></li>
</ul>
</li>
<li class="page_item page-item-11"><a href="resources" title="Endorsements">Endorsements</a></li>
<li class="page_item page-item-13"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/writings" title="Writings">Writings</a>
<ul>
<li class="page_item page-item-79"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/writings/example" title="Example">Example</a></li>
<li class="page_item page-item-137"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/writings/example-2" title="Example 2">Example 2</a></li>
</ul>
</li>
<li class="page_item page-item-15"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/references-links" title="References & Links">References & Links</a>
<ul>
<li class="page_item page-item-81"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/references-links/example" title="Example">Example</a></li>
<li class="page_item page-item-139"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/references-links/example-2" title="Example 2">Example 2</a></li>
</ul>
</li>
<li class="page_item page-item-47"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/services/for-business-professionals" title="For Business Professionals">For Business Professionals</a></li>
<li class="page_item page-item-27"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/services/for-lawyers" title="For Lawyers">For Lawyers</a></li>
<li class="page_item page-item-96"><a href="http://www.thedaylightstudio.com/testing/mpp/coaching_counsel/services/transitions" title="Transitions">Transitions</a></li>
</div>
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 11:45 am
by paqman
Is that the php code which outputs the list? That looks like the html output to me...
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 11:56 am
by WithHisStripes
Oh my mistake, here's the PHP:
Code: Select all
<div class="row-1-navigation">
<?php ?>
<ul><?php
if($post->post_parent)
$children = wp_list_pages('include=2,3,4,21,27,47,53,96&title_li=&child_of='.$post->post_parent.'&echo=0'); else
$children = wp_list_pages('include=2,3,4,21,27,47,53,96&title_li=&child_of='.$post->ID.'&echo=0');
if ($children) { ?>
<li>
<h2><?php $parent_title = get_the_title($post->post_parent); echo $parent_title; ?></h2>
<ul>
<?php echo $children; ?>
</ul>
</li>
<?php } ?>
</ul>
<?php ?>
</div>
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 12:12 pm
by paqman
No worries - if that was the PHP code I couldn't have helped haha. It looks like the function wp_list_pages generates those links, so can you find that function and post it to the forum? Within there you might have luck with your problem.
Re: How to say "if sub navigation exists", need help...
Posted: Wed Aug 26, 2009 12:17 pm
by WithHisStripes
Code: Select all
function wp_list_pages($args = '') {
$defaults = array(
'depth' => 0, 'show_date' => '',
'date_format' => get_option('date_format'),
'child_of' => 0, 'exclude' => '',
'title_li' => __('Pages'), 'echo' => 1,
'authors' => '', 'sort_column' => 'menu_order, post_title',
'link_before' => '', 'link_after' => ''
);
$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
$output = '';
$current_page = 0;
// sanitize, mostly to keep spaces out
$r['exclude'] = preg_replace('/[^0-9,]/', '', $r['exclude']);
// Allow plugins to filter an array of excluded pages
$r['exclude'] = implode(',', apply_filters('wp_list_pages_excludes', explode(',', $r['exclude'])));
// Query pages.
$r['hierarchical'] = 0;
$pages = get_pages($r);
if ( !empty($pages) ) {
if ( $r['title_li'] )
$output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';
global $wp_query;
if ( is_page() || is_attachment() || $wp_query->is_posts_page )
$current_page = $wp_query->get_queried_object_id();
$output .= walk_page_tree($pages, $r['depth'], $current_page, $r);
if ( $r['title_li'] )
$output .= '</ul></li>';
}
$output = apply_filters('wp_list_pages', $output);
if ( $r['echo'] )
echo $output;
else
return $output;
}