帖子类型:当前帖子在帖子列表中选中

时间:2015-06-18 11:46:32

标签: php wordpress custom-post-type

我在WP中有一个帖子类型,菜单中有这样的帖子列表:

<ul class="menu2">  
        <?php
        $query = new WP_Query( array( 'post_type' => array( 'comisarios' ) ) );  
                while ( $query->have_posts() ) : $query->the_post();
                    echo '<li ';
                    echo '><a href="';
                    the_permalink();
                    echo '">';
                    the_title();
                    echo '</a></li>';
                endwhile;?>
    </ul>

我想知道如何选择当前帖子来添加“class =”选中“'这样的文字,以便用黑色或其他东西显示它。

谢谢!

2 个答案:

答案 0 :(得分:1)

<ul class="menu2">  
        <?php
        $postId = get_the_ID();
        $query = new WP_Query( array( 'post_type' => array( 'comisarios' ) ) );  
                while ( $query->have_posts() ) : $query->the_post();
                   $idPost = get_the_ID();                
                    echo '<li ';
                    if( $idPost==$postId)  echo 'class="selected"';
                    echo '><a href="';
                    the_permalink();
                    echo '">';
                    the_title();
                    echo '</a></li>';
                endwhile;?>
    </ul>

答案 1 :(得分:0)

这是single-post.php模板中的侧边栏菜单(在这种情况下,archive-post模板无关紧要)。

这里有完整的代码:

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<div class="main">
    <div class="boxCenter">
        <div class="content"><!-- CONTENT -->
            <div class="mainContent">
                <div class="entry">
                    <div class="textBoxSmall">
                        <div class="comisario">
                            <img src="<?php the_field('imagen_del_comisario'); ?>">
                        </div>
                        <div class="textSmall comisarioText">
                            <h1><?php echo get_the_title(); ?></h1>
                            <p><?php the_field('res_comisario'); ?></p>      
                            <a href="http://<?php the_field('web_del_comisario'); ?>"><?php the_field('web_del_comisario'); ?></a> 
                            </p>

                            <p>Exposiciones:</p>
                            <div class="exposiciones">
                                <?php while(have_rows('exposiciones_del_comisario')): the_row(); ?>
                                    <?php 
                                        $contador++;
                                    ?>
                            <div class="square box<?php echo $contador; ?>">
                                <div class="center">
                                    <a href="<?php the_sub_field('exposicion'); ?>">
                                        <?php echo $contador; ?>
                                    </a>
                                </div>
                            </div>
                            <?php endwhile; ?>  
                        </div>  
                    </div>
                </div>


                <div class="textBox">

                  <?php the_content();?>

            </div>    
        </div>
    </div>      
</div><!-- CONTENT END -->
<?php endwhile; // end of the loop. ?>   


<div class="sidebar hide"><!-- LATERAL MENU -->
    <ul class="menu2">  
        <?php
        $query = new WP_Query( array( 'post_type' => array( 'comisarios' ) ) );  
                while ( $query->have_posts() ) : $query->the_post();
                    echo '<li ';
                    echo '><a href="';
                    the_permalink();
                    echo '">';
                    the_title();
                    echo '</a></li>';
                endwhile;?>
    </ul>

</div><!-- END LATERAL MENU -->