2010-03-11 8 views
4

나는 워드 프레스 사이트를 탐색하고,이 라인을 정확하게 수행 이전과 다른 후 콜론을 무엇이 간단한 PHP 코드는 무엇을합니까?

<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar(1)) : else : ?> 
    <li id="recent-posts"> 
     <ul> 
      <?php get_archives('postbypost', 5); ?> 
     <ul> 
    </li> 
<?php endif; ?> 

을 발견했다? 이게 어떻게 작동합니까?

답변

10

해당 함수는 이미 선언 된 경우에만 dynamic_sidebar을 실행합니다. 콜론은 PHP의 alternate syntax for control structures입니다. 템플릿/뷰에서 사용하기위한 것입니다. if 빈 몸을 가지고 있으며, 만 존재하는 경우 첫 번째 부울 검사가 실패 할 경우 발생하지 dynamic_sidebar(1)에 대한 호출하기 때문에, dyanamic_sidebar를 호출하는 데 사용되는 것처럼이 경우

, 그것은 보인다.

else은 자체와 <?php endif; ?> 사이에 아무 것도 출력하지 않습니다. 이 경우 함수 dynamic_sidebar이 없거나 dyanmic_sidebar(1)true을 반환하지 않으면 실행됩니다.

+0

오른쪽입니다. 코드를 업데이트했습니다. – detj

4

alternative Syntax for control structure입니다.

이 의미

<?php 
    if (function_exists('dynamic_sidebar') && dynamic_sidebar(1)) { 
    } else { 
?> 
    <li id="recent-posts"> 
     <ul> 
     <?php get_archives('postbypost', 5); ?> 
     <ul> 
    </li> 
<?php 
    } 
    ?> 
1

워드 프레스 dynamic_sidebar 함수가 호출되면 (이 경우, 하나)로 전달 된 수의 ID와 함께 사이드 바를 표시한다. 코드 스 니펫은 사이드 바를 인쇄하고 (존재하는 경우 dynamic_sidebar 함수가 정의되어 있음) 그렇지 않으면 사이드 바 대신 행에 게시 한 코드 아래에있는 내용을 인쇄합니다.

관련 문제