带有当前页面突出显示的动态侧边栏导航

时间:2011-03-14 作者:Ryan

我的侧边栏根据父页面遍历所有子页面。例如,如果你在“关于”部分,你只会在侧边栏中看到“关于”子页面。

我的问题是我无法突出显示当前页面。例如,如果您在子页面“我们的团队”(在“关于”下),我想给侧栏“我们的团队”一个标记链接一个“当前页面”类。

有没有办法将“当前页面”类动态添加到您所在的子页面?

<?php 
if ( $post->post_parent == \'4\' ) {
    query_posts("post_type=page&post_parent=4&orderby=menu_order&order=asc"); 
} elseif ( $post->post_parent == \'6\' ) {
    query_posts("post_type=page&post_parent=6&orderby=menu_order&order=asc");
} elseif ( $post->post_parent == \'8\' ) {
    query_posts("post_type=page&post_parent=8&orderby=menu_order&order=asc"); 
} elseif ( $post->post_parent == \'10\' ) {
    query_posts("post_type=page&post_parent=10&orderby=menu_order&order=asc"); 
}
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
...

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

我知道你在这件事上有困难,所以在这里:

<?php 
    global $post;
    $curent_post = $post;
    $curent_post_id = $post->ID
    $parents = array(\'4\',\'6\',\'8\',\'10\');
    if (in_array($post->post_parent,$parents)){
        query_posts("post_type=page&post_parent=".$post->post_parent."&orderby=menu_order&order=asc"); 
    }
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    ?>
    <a href="<?php the_permalink(); 
    if ($curent_post_id = $post->ID){
        echo \' class="highlight"\';
    }
    ?>"><?php the_title(); ?></a>
在循环结束时添加

wp_reset_query();
$post = $curent_post;
不,在那之后,我想说的是,你真的应该使用WP\\u Query而不是Query\\u posts,只要它不是页面中的主要查询。

当我回来的时候,我会用wp\\u list\\u pages()发布和举例

结束