Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress-Jigoshop条件语句_Php_Wordpress_Product_Conditional Statements_Jigoshop - Fatal编程技术网

Php Wordpress-Jigoshop条件语句

Php Wordpress-Jigoshop条件语句,php,wordpress,product,conditional-statements,jigoshop,Php,Wordpress,Product,Conditional Statements,Jigoshop,我在用Jigoshop和Wordpress 我的主要目标是在不同的产品类别中加载不同的侧栏 我通过使用以下方法成功地做到了这一点: function jigoshop_get_sidebar() { if(is_shop()) get_sidebar('shop'); if ( is_product_category('poura')) get_sidebar('cigars'); } 在myfunctions.php文件中 现在的问题是,我有一些产品不只是一个类别,

我在用Jigoshop和Wordpress

我的主要目标是在不同的产品类别中加载不同的侧栏

我通过使用以下方法成功地做到了这一点:

function jigoshop_get_sidebar() {

    if(is_shop()) get_sidebar('shop'); if ( is_product_category('poura'))
        get_sidebar('cigars');
}
在myfunctions.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”两个类别

在这种情况下,怎么可能只有一个侧边栏

再次感谢您的帮助

一个“else-if”语句不能解决您的问题吗

基本上我的意思是你需要一个开关箱,没有很多不同的如果

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');
}

嘿,谢谢你对这个感兴趣。问题是,许多产品都属于这两个类别(“poura”和“cigars”),所以当我在雪茄的常规页面上时,仅仅因为我有两个类别的产品,它就会加载两个侧边栏,甚至使用“else if”语句。我知道这有点复杂,至少在我看来是这样。在你的代码中,你添加了侧边栏商店,然后你检查了类别,然后添加了其他侧边栏,我编辑了我的答案,见第3行你添加了侧边栏商店,然后你检查了“poura”并添加了雪茄,然后你检查了雪茄并再次添加了商店。也许我不明白你的想法:是的,你不明白真的是我的错。我会尽量说得非常清楚,让你们和其他人都能理解:我有一个产品页面,其中显示了两个类别的一些产品,poura和cigarillos。这意味着相同的产品是两个类别。这就是为什么当我为两个类别调用不同的侧栏时,它会在同一页面中显示两个侧栏,因为每个产品都在这两个类别中。我正试图找到一种方法来缩小它与其他条件语句的范围,例如is_page或is_page_template,但最后一个没有区别。确定产品有两个类别,但您只想显示一个侧边栏,对吗?即使是我发布的第三个代码也不适合您?这应该只显示一个侧边栏,如果我理解正确,默认侧边栏应该是“商店”侧边栏,对吗?