Я разрабатываю тему Wordpress для компании моего друга, но этот вопрос касается всего PHP, поэтому пишу здесь, на SO.
У меня есть две боковые панели, вот как мы отображаем боковые панели в Wordpress:
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('SidebarName') ) :
endif;
Так что это утверждение if.
Хорошо, теперь я хочу отобразить одну боковую панель, если $ layout = "one". Две боковые панели, если $ layout == "two" и т. Д.
Этот код работает, но он дублирует содержимое боковых панелей. Я полагаю, что endifs работают с родительскими циклами или что-то в этом роде:
if($layout="one") {
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar 1') ) :
endif;
} elseif($layout=="two") {
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(' Sidebar 1') ) :
endif;
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar 2') ) :
endif;
} elseif($layout=="three") { (...)
Как решить эту проблему? Когда я просто удаляю основной цикл if - все работает, как и ожидалось, поэтому я уверен, что заблудился где-то выше.
Извините, опечатки, я использую $ layout == вместо =