我有这个代码,列出了我的所有类别(大约10个)。但是我遇到了一个关于class =“active”的问题。在我的代码下面,它使我的所有链接都处于活动状态。我怎么能/指定链接必须是一个活跃的类?
我知道我有点亲近,但我真的很困惑,我怎么能这样做。我希望有人能够纠正/借给我一些帮助。
$terms = get_terms('portfolio_category');
$url = get_bloginfo('url');
$base = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
$title_slug = basename(get_permalink()) ;
foreach ( $terms as $term) {
$class = 'class ="active"';
if($base == $title_slug){
?>
<a <?php echo $class; } ?> href="<?php echo $url; ?>/portfolio/<?php echo $term->slug; ?>"> <?php echo $term->name.'<br />'; ?> </a>
<?php } ?>
答案 0 :(得分:0)
我认为你应该尝试这样的事情
foreach ( $terms as $term) {
$class = $base == $title_slug ? 'class ="active"' : '';
?>
<a <?php echo $class; ?> href="<?php echo $url . '/portfolio/' . $term->slug; ?>"><?php echo $term->name; ?></a><br />
<?php } ?>
最好用短标记版本<?php ?>
<?= ?>
答案 1 :(得分:0)
尝试更改if
内的foreach
语句:
$class = $base == $title_slug ? 'class ="active"' : ''; if($base == $term->slug){ .......
答案 2 :(得分:0)
更改您的代码块: -
foreach ( $terms as $term) {
$class = ($base == $title_slug) ? 'class ="active"' : '';
?>
<a <?php echo $class; ?> href="<?php echo $url; ?>/portfolio/<?php echo $term->slug; ?>"> <?php echo $term->name.'<br />'; ?> </a>
<?php } ?>
答案 3 :(得分:0)
在我的情况下,这个适合我。我应用了Alaa在if
语句中回复的内容,它就是我需要的内容。
foreach ( $terms as $term) {
$class = ($base == $term->slug) ? 'class ="active"' : '';
?>
<a <?php echo $class; ?> href="<?php echo $url; ?>/portfolio/<?php echo $term->slug; ?>"> <?php echo $term->name.'<br />' ?> </a>
<?php } ?>