Operador de colon en PHP
Esto es parte del código de wordpress y no lo entiendo:
<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>
Un colon puede reemplazar un corchete en PHP. Así que si sustituyo los dos puntos, obtengo esto:
<code>if ( is_404() && $template = get_404_template() ) { elseif ( is_search() && $template = get_search_template() ) { elseif ( is_tax() && $template = get_taxonomy_template() ) { ... } } } else </code>
No tiene sentido para mí, porque cada otro si falta su apertura si.