2012-12-13 35 views
2

我使用Jigoshop和Wordpress。Wordpress - Jigoshop條件語句

我的主要目標是在不同的產品類別中加載不同的側邊欄。

我已經設法通過使用要做到這一點:

function jigoshop_get_sidebar() { 

    if(is_shop()) get_sidebar('shop'); if (is_product_category('poura')) 
     get_sidebar('cigars'); 
} 

在我functions.php文件。

現在的問題是,我有一些產品,但不只是一個範疇,所以,當我嘗試做這樣的事情:

function jigoshop_get_sidebar() { 
    if(is_shop()) get_sidebar('shop'); if (is_product_category('poura')) 
      get_sidebar('cigars'); if (is_product_category('cigarillos')) 
      get_sidebar('shop'); 
} 

我現在得到兩個側邊欄(「雪茄」的,」商店'),因爲有些產品共享'poura'和'cigarillos'類別。

在這種情況下,如何只有一個側欄?

再次感謝您的幫助!

回答

0

「else if」語句不能解決您的問題嗎?

基本上我的意思是你需要一個開關盒並不是很多不同的ifs。

function jigoshop_get_sidebar() { 
    if(is_shop()) 
      get_sidebar('shop'); 
    elseif (is_product_category('poura')) 
      get_sidebar('cigars'); 
    elseif (is_product_category('cigarillos')) 
      get_sidebar('cigarillos'); 
} 
+0

嘿,感謝您對此的關注。 問題在於很多產品都屬於兩種類別('poura'和'雪茄'),所以當我進入一般的雪茄頁面時,僅僅是因爲我的產品具有這兩個類別,它會加載兩個側邊欄,即使通過使用「else if」語句。 我知道它有點複雜,至少在我的腦海裏。 – user1590777

+0

好吧,在你的代碼中,你添加了側邊欄商店,比你檢查類別,並添加其他側邊欄,我編輯了我的答案,看到你添加側邊欄商店的第3行,比你檢查'poura'並添加雪茄,比你檢查小雪茄並再次添加商店。也許我沒有得到你的場景:S – Draiden

+0

是的,這是我的錯,真的,你沒有得到它。 我會盡量清楚一點,以便您和其他人明白: 我有一個產品頁面,顯示一些產品,這兩個類別都是poura和cigarillos。所以這意味着相同的產品是兩個類別。 這就是爲什麼當我爲這兩個類別調用不同側邊欄時,它會在同一頁面中顯示兩個側邊欄,因爲每個產品都屬於這兩個類別。 我想找到一種方法來縮小它與其他條件語句,如is_page或is_page_template,但最後不會產生差異 – user1590777