2010-10-29 130 views
1

您好我正在嘗試使用wordpress確定您正在查看的類別或頁面。誰能告訴我什麼是錯用這樣的語句:這條件語句有什麼問題?

<?php if (in_category('b')){ ?> 
    <ul> 
     <li><a href="#">A</a></li> 
     <li><a class="current" href="#">B</li> 
    </ul> 
<?php } else { ?> 
    <ul> 
     <li><a class="current" href="#">A</a></li> 
     <li><a href="#">B</li> 
    </ul> 
<?php } ?> 

我想用這樣的事情,但我else語句被忽略,不管類的「B」總是最新的。

+0

這段代碼是否可以運行? – 2010-10-29 06:34:07

+0

我不知道你在問什麼。 – Zac 2010-10-29 06:38:40

+0

你有沒有考慮過使用模板引擎?這嵌入式HTML燒傷了我的眼睛;-) – Dennis 2010-10-29 06:50:07

回答

2

您可能是沒有一個門柱內側或萬事類「B」。

有關in_category()的信息,請參閱http://codex.wordpress.org/Function_Reference/in_category

+0

沒有一切都不是在貓b,我不知道你的意思是不在帖子裏面。這可以在循環之外完成,因爲它顯示在該鏈接中。 – Zac 2010-10-29 06:45:52

+1

'此標籤可用於測試The Loop中的當前帖子如果您在The Loop中,則in_category()將根據該類別測試當前帖子。如果您在The Loop之外,則應提供帖子ID作爲第二個參數。 – Scott 2010-10-29 06:48:08

+0

啊哈。謝謝! – Zac 2010-10-29 07:05:34

0

閱讀here

你得寫類似:

<?php if (in_category('b')): ?> 
    <ul> 
    <li><a href="#">A</a></li> 
    <li><a class="current" href="#">B</li> 
    </ul> 

... 
+0

謝謝,但我也嘗試過,它沒有區別。我認爲這只是替代語法,閱讀首選項。 – Zac 2010-10-29 06:47:29

+0

我不認爲你的語法甚至可以工作...... PHP是一種奇怪的語言。在這種情況下,這是一個邏輯錯誤。 – joni 2010-10-29 06:48:30

+1

WordPress的替代語法不是必需的,它只是他們喜歡寫它的方式。 – Scott 2010-10-29 06:49:37