2013-11-15 52 views
0

我有這個代碼列出我所有的類別(約10)。但是我有一個class =「active」的問題。在我的代碼下面,它使我所有的鏈接都處於活動狀態。我該怎麼做/指定這個鏈接必須是一個被激活的類?如何使類在foreach語句中處於活動狀態?

我知道我在一點點接近,但我真的堅持我怎麼能做到這一點。我希望有人能夠改正/借給我一些幫助。

$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

什麼是您的活動課程條件。 – Roopendra

+0

@Roopendra實際上我正在研究wordpress,活動類條件是if($ base == $ title_slug)。 $ title_slug是我的帖子的slu name名稱。 – kersey

回答

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 ?><?= ?>

0

嘗試改變內部foreachif聲明:

 
$class = $base == $title_slug ? 'class ="active"' : ''; 
if($base == $term->slug){ 
....... 
+0

感謝您的這一點,它真的有效 – kersey

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 } ?> 
+0

感謝它適用於我,但我只改變$ title_slug爲$ term-> slug,因爲它的作品 – kersey

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 } ?> 
相關問題