在WordPress默认菜单之外设置“活动”链接的样式

时间:2012-06-20 作者:Rob Myrick

我希望在用户到达相应页面后,此页面上所选框的背景色显示为灰色。“我的链接”当前作为传统链接设置在页面模板内部,不会显示在默认的Wordpress菜单设置下。

我需要在“活动”框中添加CSS样式,还是需要创建一个确定激活页面的PHP条件?我只是有点困惑。

以下是方框:http://richmindonline.com/virtual/solutions/

    <div class="product-wrapper">

                        <a class="products-box" href="/virtual/solutions/">
               <div class="product-left">
                  <?php get_sidebar(\'1-products\'); ?>
                           </div>
            </a>


                           <a class="products-box" href="/virtual/solutions/">
                  <div class="product-center">
                 <?php get_sidebar(\'2-products\'); ?>
                              </div>
               </a>

                              <a class="products-box" href="/virtual/solutions/">
                 <div class="product-center">
                     <?php get_sidebar(\'3-products\'); ?>
                                 </div>
                  </a>

                                 <a class="products-box" href="/virtual/solutions/">
                    <div class="product-right"> 
                   <?php get_sidebar(\'4-products\'); ?>
                                    </div> 
                     </a>

            <div class="clear"></div>

                        </div>

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

每个链接都需要一个唯一的类。然后你可以从一个身体类中学习,例如page-id-7 这样做。您的CSS如下所示:

.page-id-7 .1-products a {color: #333;}

SO网友:Stephen Harris

好的,首先设置一个数组,该数组包含对应于框1、2、3、4(按顺序)的页面ID。我使用了框的位置作为键,这些作为一个类添加到<div> 元素。

将当前页的ID与每个页的ID进行比较,并有条件地附加类“current”。

//The pages as $location => $page_id
$pages = array(
 \'product-left\' => 22, 
 \'product-center-left\' => 25, 
 \'product-center-right\' => 17, 
 \'product-right\' => 42);

//Current page ID
$current_id = (is_page() ? get_queried_object_id() : 0);
?>

<div class="product-wrapper">
  <?php $count=0; ?>
  <?php foreach ($pages as $position => $page): ?>
     <?php $class = ( $page == $current_id ? $position.\' current\' : $location); ?>

     <a class="products-box" href="<?php echo get_page_link($page);?>">
        <div class="<?php echo esc_attr($class);?>">
          <?php get_sidebar($count.\'-products\'); ?>
        </div>
     </a>

    <?php count++; ?>

  <?php endforeach; ?>
  <div class="clear"></div>
</div>

结束

相关推荐

如何在新的Customize.php(主题定制)屏幕上执行条件脚本

新的“自定义”主题屏幕是WordPress 3.4中一个受欢迎的新增内容,但是,我发现它与我加载页脚中加载的脚本的方法相冲突:在函数中。phpif(!is_admin()) { /* GET PUBLIC FUNCTIONS *************************************************************/ require_once(TEMPLATEPATH . \'/functions_public.php\'); }&#