【问题标题】:How to neatly combine multiple conditional statements如何巧妙地组合多个条件语句
【发布时间】:2018-10-23 15:00:07
【问题描述】:

我正在尝试将侧边栏小部件添加到两个不同的位置。我的代码正在运行,但存在重复,所以我的问题是如何组合这些语句?

            if( tribe_is_month() && !is_tax() ){ // Month View Page
                dynamic_sidebar( 'lavida_calendar' ); 
            } 
            elseif ( tribe_is_past() || tribe_is_upcoming() && ! is_tax() ) { // List View Page
                dynamic_sidebar( 'lavida_calendar' ); 
            }
            else {
            }

【问题讨论】:

    标签: php wordpress conditional


    【解决方案1】:

    此外,它认为这条规则可以简化,因为它认为你想显示任何一个月的侧边栏,过去和未来不是税收

    if ((tribe_is_month() || (tribe_is_past() || tribe_is_upcoming())
        && !is_tax()) {
        dynamic_sidebar( 'lavida_calendar' ); 
    }
    

    【讨论】:

    • 谢谢 Jhonatan,我看到你的登录信息了
    【解决方案2】:

    由于!is_tax 存在于两个分支中,您可以使用它。然后,注意剩下的都是 OR 条件:

    if (!is_tax() && (tribe_is_month() || tribe_is_past() || tribe_is_upcoming())) {
        dynamic_sidebar(...);
    }
    

    这种重写的副作用是只调用一次is_tax

    【讨论】:

    • 谢谢Bishop,确实很简洁:)
    【解决方案3】:

    您好,只需在一条语句中使用 OR 条件设置两个条件

    if( (tribe_is_month() && !is_tax())  || 
        (tribe_is_past() || tribe_is_upcoming() && ! is_tax() )){
        dynamic_sidebar( 'lavida_calendar' ); 
    }
    

    【讨论】:

    • 非常感谢 Jaydp :) 我确定我试过了,但我认为多个 || 让我感到困惑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多