Как аккуратно объединить несколько условных операторов - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь добавить виджет боковой панели в двух разных местах.Мой код работает, но есть дублирование, поэтому мой вопрос, как мне объединить эти операторы?

            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 {
            }

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Поскольку !is_tax существует в обеих ветвях, вы можете вести с этим.Затем обратите внимание, что все, что осталось, - это условия ИЛИ:

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

Это переписывание имеет побочный эффект вызова is_tax только один раз, хотя.

0 голосов
/ 14 мая 2018

Кроме того, он видит, что это правило может быть просто указано, поскольку он показывает, что вы хотите показать боковую панель для любого месяца, прошлого и предстоящего, который не является налогом

if ((tribe_is_month() || (tribe_is_past() || tribe_is_upcoming())
    && !is_tax()) {
    dynamic_sidebar( 'lavida_calendar' ); 
}
0 голосов
/ 14 мая 2018

Привет. Просто установите оба условия в одном операторе с условием ИЛИ

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