Tell me more ×
WordPress Answers is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

The below code is for listing the custom post types itself and its children in the sidebar. The code works great but does not highlight the sub pages.

In functions.php:

if(!function_exists('get_post_top_ancestor_id')){
/**
* Gets the id of the topmost ancestor of the current page. Returns the current
* page's id if there is no parent.
* 
* @uses object $post
* @return int 
*/
function get_post_top_ancestor_id(){
global $post;

if($post->post_parent){
    $ancestors = array_reverse(get_post_ancestors($post->ID));
    return $ancestors[0];
}

return $post->ID;
}}

and adding this code to the sidebar:

<ul>
<?php
$getid=get_post_top_ancestor_id(); 
#echo $getid;
global $post;
$post=get_post($getid);
setup_postdata($post);
?>
<?php
if (is_single($post->ID)) {$pg_li .="current_page_item";}
else {
$pg_li .="page_item";}
?>
<h3><?php the_title();?></h3>
<p></p>
<li class="<?php echo $pg_li; ?>">
<a href="<?php the_permalink(); ?>">BIOGRAPHY</a>
</li>
<li class="<?php echo $pg_li; ?>">
<?php
$args=array(
'post_type'=>'artists',
'child_of'=>$getid ,
'sort_column'=>'menu_order',
'hierarchical' => 1,
'title_li'=>__('')
);
wp_list_pages( $args );
wp_reset_query();
?></li>
</ul>

I am not familiar with PHP, and a friend helped me to write this code. So what am I missing to highlight the current sub menu of that custom post type?

share|improve this question
Do you actually have a unique style in your css for .current_page_item? – Johannes Pille Nov 27 '12 at 9:00
@JohannesPille yes, i have.. – sez Nov 28 '12 at 18:25
Would it be possible to list them with a custom navigation menu instead of the code you used? Reason I ask is because if you can replace it with a custom navigation menu you can use: vayu.dk/… – Piet Jan 24 at 13:13
1  
Can we see the rendered page? – Alex Thomas May 16 at 14:41

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.