На этом сайте: http://jumpthru.net/newsite/vision/
Я использую CSS спрайты для моей навигации с инструкциями PHP else, чтобы показать активное состояние для текущей страницы. Все страницы работают правильно, за исключением страницы, содержащей записи цикла / блога ( http://jumpthru.net/newsite/commentary/ )
Мне нужно вызвать php по-разному для этой страницы?
PHP:
<?php if ( is_page('vision') ) { $current1 = 'visionside a'; } elseif ( is_page('team') ) { $current2 = 'teamside a'; } elseif ( is_page('commentary') ) { $current3 = 'blogside a'; } elseif ( is_page('organizations') ) { $current4 = 'orgside a'; } ?>
CSS:
#sidebarnav ul#sidenav li.<?php echo $current1; ?> { background:url(http://img.ruphp.com/php/vision2.png) 0px -106px !important;
}
#sidebarnav ul#sidenav li.<?php echo $current2; ?> { background:url(http://img.ruphp.com/php/team2.png) 0px -106px !important;
}
#sidebarnav ul#sidenav li.<?php echo $current3; ?> { background:url(http://img.ruphp.com/php/content2.png) 0px -106px !important;
}
#sidebarnav ul#sidenav li.<?php echo $current4; ?> { background:url(http://img.ruphp.com/php/org2.png) 0px -106px !important;
}
Любая помощь будет принята с благодарностью!
У меня есть решение, которое немного отличается от того, что вы ищете, но гораздо лучше подходит к тому, что вы делаете.
PHP:
<?php if ( is_page('vision') ) $page = 'vision'; elseif ( is_page('team') ) $page = 'team'; elseif ( is_page('commentary') ) $page = 'blog'; elseif ( is_page('organizations') ) $page = 'org'; ?> <body id="page-<?php echo $page; ?>"> ...
Обратите внимание, что выше PHP : если у вас есть get_page_id()
, вы можете упростить это намного больше. просто имея <body id="page-<?php get_page_id(); ?>">
HTML:
<ul id="sidenav"> <li class="visionside"><a href="#">...</a></li> <li class="teamside"><a href="#">...</a></li> <li class="blogside"><a href="#">...</a></li> <li class="orgside"><a href="#">...</a></li> </ul>
CSS:
body#page-vision #sidenav li.visionside a, #sidenav li.visionside a:hover { ... }
Обратите внимание на выше CSS: Есть две строки, перечисленные выше, которые вы можете объединить вместе – текущее состояние и состояние зависания. Это приведет к отображению текущего состояния при наведении курсора на навигатор, независимо от того, какой навигатор является «текущим» навигатором.
Увидев, что вы заинтересованы в использовании CSS Sprites, я определенно рекомендую вам ознакомиться с этой статьей .