Оператор двоеточия в PHP
Это часть кода WordPress, и я не понимаю этого:
<code>if ( is_404() && $template = get_404_template() ) : elseif ( is_search() && $template = get_search_template() ) : elseif ( is_tax() && $template = get_taxonomy_template() ) : elseif ( is_front_page() && $template = get_front_page_template() ) : elseif ( is_home() && $template = get_home_template() ) : elseif ( is_attachment() && $template = get_attachment_template() ) : remove_filter('the_content', 'prepend_attachment'); elseif ( is_single() && $template = get_single_template() ) : elseif ( is_page() && $template = get_page_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_comments_popup() && $template = get_comments_popup_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif; </code>
Двоеточие может заменить фигурную скобку в PHP. Так что, если я заменю двоеточия, я получу это:
<code>if ( is_404() && $template = get_404_template() ) { elseif ( is_search() && $template = get_search_template() ) { elseif ( is_tax() && $template = get_taxonomy_template() ) { ... } } } else </code>
Не имеет смысла для меня, потому что каждый другой, если отсутствует его открытие, если.