如果固定链接等于当前站点URL

时间:2013-02-28 作者:ElBrm

当当前站点url等于帖子的永久链接时,有没有方法向div添加类?

我需要一个类“当前”到我的自定义菜单。我把帖子链接放在一个带有循环的列表项中,对于每个链接,我想检查永久链接是否等于当前页面url。如果永久链接与当前页面url匹配,我想添加类“current”。

类似于:

<?php $currentUrl = "http://" . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\']; ?>
<?php if ( $currentUrl == the_permalink() ) { echo \' class="current"\'; } else {} ?>
与回路一起:

<?php $currentUrl = "http://" . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\']; ?>

<?php query_posts(\'orderby=name\'); ?>
<?php while (have_posts()) : the_post(); ?>

   <li>
       <a <?php if ( $currentUrl == the_permalink() ) { echo \' class="current"\'; } else {} ?>
       href="<?php the_permalink() ?>">
          <?php the_title() ?>
       </a>
   </li>

<?php endwhile; ?>
<?php wp_reset_query(); ?>

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

我会使用ID做一些更简单的事情:

<?php $current_id = $post->ID; ?>
<?php query_posts(\'orderby=name\'); ?>  
<?php while (have_posts()) : the_post(); ?>

   <li>
       <?php $current_class = ( $current_id == $post->ID ) ? \'class="current"\' : \'\'; ?>
       <a <?php if ( $current_class ) echo $current_class; ?> href="<?php the_permalink() ?>">
          <?php the_title() ?>
       </a>
   </li>

<?php endwhile; ?>
<?php wp_reset_query(); ?>
我没有时间验证代码,希望这有帮助。

结束

相关推荐

Update page breaks permalinks

从3.3.1开始,我有一个奇怪的副作用。当更新页面(或创建新页面)时,我的所有永久链接都会中断-单击相关更新页面上的查看页面将导致404找不到。这不会发生在帖子中。我担心我的permalinks/%postname%/新模式可能会出现问题,但我将其替换为YEAR/postname,没有发现任何差异。我检查并发现帖子名称字段中有一些重复,我更改或删除了任何可疑的重复。仍然没有变化。这是我的htaccess-# BEGIN WordPress <IfModule mod_rewrite.c>